Skip to content

Commit

Permalink
Conditionally setting the optional fields
Browse files Browse the repository at this point in the history
  • Loading branch information
tombuildsstuff committed Mar 27, 2019
1 parent bad0b04 commit 54150f2
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 16 deletions.
24 changes: 16 additions & 8 deletions azurerm/resource_arm_api_management_authorization_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,10 +202,6 @@ func resourceArmApiManagementAuthorizationServerCreateUpdate(d *schema.ResourceD
grantTypesRaw := d.Get("grant_types").(*schema.Set).List()
grantTypes := expandApiManagementAuthorizationServerGrantTypes(grantTypesRaw)

authorizationMethodsRaw := d.Get("authorization_methods").(*schema.Set).List()
authorizationMethods := expandApiManagementAuthorizationServerAuthorizationMethods(authorizationMethodsRaw)
bearerTokenSendingMethodsRaw := d.Get("bearer_token_sending_methods").(*schema.Set).List()
bearerTokenSendingMethods := expandApiManagementAuthorizationServerBearerTokenSendingMethods(bearerTokenSendingMethodsRaw)
clientAuthenticationMethodsRaw := d.Get("client_authentication_method").(*schema.Set).List()
clientAuthenticationMethods := expandApiManagementAuthorizationServerClientAuthenticationMethods(clientAuthenticationMethodsRaw)
clientSecret := d.Get("client_secret").(string)
Expand All @@ -216,7 +212,6 @@ func resourceArmApiManagementAuthorizationServerCreateUpdate(d *schema.ResourceD
supportState := d.Get("support_state").(bool)
tokenBodyParametersRaw := d.Get("token_body_parameter").([]interface{})
tokenBodyParameters := expandApiManagementAuthorizationServerTokenBodyParameters(tokenBodyParametersRaw)
tokenEndpoint := d.Get("token_endpoint").(string)

params := apimanagement.AuthorizationServerContract{
AuthorizationServerContractProperties: &apimanagement.AuthorizationServerContractProperties{
Expand All @@ -228,8 +223,6 @@ func resourceArmApiManagementAuthorizationServerCreateUpdate(d *schema.ResourceD
GrantTypes: grantTypes,

// Optional
AuthorizationMethods: authorizationMethods,
BearerTokenSendingMethods: bearerTokenSendingMethods,
ClientAuthenticationMethod: clientAuthenticationMethods,
ClientSecret: utils.String(clientSecret),
DefaultScope: utils.String(defaultScope),
Expand All @@ -238,10 +231,25 @@ func resourceArmApiManagementAuthorizationServerCreateUpdate(d *schema.ResourceD
ResourceOwnerUsername: utils.String(resourceOwnerUsername),
SupportState: utils.Bool(supportState),
TokenBodyParameters: tokenBodyParameters,
TokenEndpoint: utils.String(tokenEndpoint),
},
}

authorizationMethodsRaw := d.Get("authorization_methods").(*schema.Set).List()
if len(authorizationMethodsRaw) > 0 {
authorizationMethods := expandApiManagementAuthorizationServerAuthorizationMethods(authorizationMethodsRaw)
params.AuthorizationServerContractProperties.AuthorizationMethods = authorizationMethods
}

bearerTokenSendingMethodsRaw := d.Get("bearer_token_sending_methods").(*schema.Set).List()
if len(bearerTokenSendingMethodsRaw) > 0 {
bearerTokenSendingMethods := expandApiManagementAuthorizationServerBearerTokenSendingMethods(bearerTokenSendingMethodsRaw)
params.AuthorizationServerContractProperties.BearerTokenSendingMethods = bearerTokenSendingMethods
}

if tokenEndpoint := d.Get("token_endpoint").(string); tokenEndpoint != "" {
params.AuthorizationServerContractProperties.TokenEndpoint = utils.String(tokenEndpoint)
}

if _, err := client.CreateOrUpdate(ctx, resourceGroup, serviceName, name, params, ""); err != nil {
return fmt.Errorf("Error creating/updating Authorization Server %q (API Management Service %q / Resource Group %q): %+v", name, serviceName, resourceGroup, err)
}
Expand Down
15 changes: 7 additions & 8 deletions azurerm/resource_arm_api_management_authorization_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,20 +193,19 @@ resource "azurerm_api_management_authorization_server" "test" {
grant_types = [
"authorizationCode",
]
authorization_methods = [
authorization_methods = [
"GET",
"POST",
]
bearer_token_sending_methods = [
"authorizationHeader"
]
client_secret = "n1n3-m0re-s3a5on5-m0r1y"
default_scope = "read write"
token_endpoint = ""
resource_owner_username = "rick"
resource_owner_password = "C-193P"
support_state = true
client_secret = "n1n3-m0re-s3a5on5-m0r1y"
default_scope = "read write"
token_endpoint = "https://azacctest.hashicorptest.com/client/token"
resource_owner_username = "rick"
resource_owner_password = "C-193P"
support_state = true
}
`, template, rInt)
}
Expand Down

0 comments on commit 54150f2

Please sign in to comment.