// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

type AuthorizationProvider_STATUS struct {
	// Id: Fully qualified resource ID for the resource. Ex -
	// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	Id *string `json:"id,omitempty"`

	// Name: The name of the resource
	Name *string `json:"name,omitempty"`

	// Properties: Properties of the Authorization Provider Contract.
	Properties *AuthorizationProviderContractProperties_STATUS `json:"properties,omitempty"`

	// Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string `json:"type,omitempty"`
}

// Authorization Provider details.
type AuthorizationProviderContractProperties_STATUS struct {
	// DisplayName: Authorization Provider name. Must be 1 to 300 characters long.
	DisplayName *string `json:"displayName,omitempty"`

	// IdentityProvider: Identity provider name. Must be 1 to 300 characters long.
	IdentityProvider *string `json:"identityProvider,omitempty"`

	// Oauth2: OAuth2 settings
	Oauth2 *AuthorizationProviderOAuth2Settings_STATUS `json:"oauth2,omitempty"`
}

// OAuth2 settings details
type AuthorizationProviderOAuth2Settings_STATUS struct {
	// GrantTypes: OAuth2 settings
	GrantTypes *AuthorizationProviderOAuth2GrantTypes_STATUS `json:"grantTypes,omitempty"`

	// RedirectUrl: Redirect URL to be set in the OAuth application.
	RedirectUrl *string `json:"redirectUrl,omitempty"`
}

// Authorization Provider oauth2 grant types settings
type AuthorizationProviderOAuth2GrantTypes_STATUS struct {
	// AuthorizationCode: OAuth2 authorization code grant parameters
	AuthorizationCode map[string]string `json:"authorizationCode,omitempty"`

	// ClientCredentials: OAuth2 client credential grant parameters
	ClientCredentials map[string]string `json:"clientCredentials,omitempty"`
}
