diff --git a/README.md b/README.md index aa10af6f..fcb24e5a 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ resource "netlify_deploy_key" "key" {} resource "netlify_site" "main" { name = "" - + team_name = "<(optional) name of netlify team>" repo { repo_branch = "" command = "" diff --git a/netlify/resource_site.go b/netlify/resource_site.go index 255c80c4..48c98f8a 100644 --- a/netlify/resource_site.go +++ b/netlify/resource_site.go @@ -23,6 +23,11 @@ func resourceSite() *schema.Resource { Computed: true, }, + "team_name": { + Type: schema.TypeString, + Optional: true, + }, + "custom_domain": { Type: schema.TypeString, Optional: true, @@ -77,16 +82,26 @@ func resourceSite() *schema.Resource { func resourceSiteCreate(d *schema.ResourceData, metaRaw interface{}) error { meta := metaRaw.(*Meta) - - params := operations.NewCreateSiteParams() - params.Site = resourceSite_setupStruct(d) - - resp, err := meta.Netlify.Operations.CreateSite(params, meta.AuthInfo) - if err != nil { - return err + var site *models.Site + if v, ok := d.GetOk("team_name"); ok { + params := operations.NewCreateSiteInTeamParams() + params.Site = resourceSite_setupStruct(d) + params.AccountSlug = v.(interface{}).(string) + resp, err := meta.Netlify.Operations.CreateSiteInTeam(params, meta.AuthInfo) + if err != nil { + return err + } + site = resp.Payload + } else { + params := operations.NewCreateSiteParams() + params.Site = resourceSite_setupStruct(d) + resp, err := meta.Netlify.Operations.CreateSite(params, meta.AuthInfo) + if err != nil { + return err + } + site = resp.Payload } - - d.SetId(resp.Payload.ID) + d.SetId(site.ID) return resourceSiteRead(d, metaRaw) } diff --git a/website/docs/r/netlify_site.html.markdown b/website/docs/r/netlify_site.html.markdown index 30be8814..2b6ca005 100644 --- a/website/docs/r/netlify_site.html.markdown +++ b/website/docs/r/netlify_site.html.markdown @@ -34,6 +34,7 @@ The following arguments are supported: * `name` - (Required) - Name of your site on Netlify (e.g. **mysite**.netlify.com) * `repo` - (Required) - See [Repository](#repo) * `custom_domain` - (Optional) - Custom domain of the site, must be configured using a CNAME in accordance with [Netlify's docs](https://www.netlify.com/docs/custom-domains). (e.g. `www.example.com`) +* `team_name` - (Optional) - Name of your slug account on Netlify (e.g. **myteam**) * `deploy_url` - (Optional) ### Repository