From e7736d78ea5f92eb50b36b5311ed621934e4dcd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20T=C3=BCrken?= Date: Wed, 13 Mar 2024 00:28:11 +0300 Subject: [PATCH 1/2] Bump Terraform provider version to v2.47.0 and bump dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fatih Türken --- Makefile | 2 +- .../v1beta1/zz_member_types.go | 2 +- .../v1beta1/zz_unit_types.go | 2 +- apis/app/v1beta1/zz_roleassignment_types.go | 2 +- .../v1beta1/zz_application_terraformed.go | 2 +- .../v1beta1/zz_application_types.go | 26 +- .../v1beta1/zz_certificate_types.go | 40 +- .../zz_federatedidentitycredential_types.go | 18 +- .../v1beta1/zz_generated.deepcopy.go | 120 ++ .../v1beta1/zz_generated.resolvers.go | 64 + .../applications/v1beta1/zz_password_types.go | 18 +- .../v1beta1/zz_preauthorized_types.go | 51 +- .../v1beta1/zz_accesspolicy_types.go | 200 ++- .../v1beta1/zz_generated.deepcopy.go | 471 ++++++ .../v1beta1/zz_location_types.go | 8 +- .../v1beta1/zz_customdirectoryrole_types.go | 2 +- apis/directoryroles/v1beta1/zz_role_types.go | 2 +- .../v1beta1/zz_roleassignment_types.go | 2 +- apis/groups/v1beta1/zz_group_types.go | 2 +- apis/groups/v1beta1/zz_member_types.go | 2 +- .../v1beta1/zz_invitation_types.go | 2 +- .../v1beta1/zz_claimsmappingpolicy_types.go | 2 +- .../v1beta1/zz_permissiongrant_types.go | 2 +- .../v1beta1/zz_certificate_types.go | 2 +- .../zz_claimsmappingpolicyassignment_types.go | 2 +- .../v1beta1/zz_generated.deepcopy.go | 35 + .../v1beta1/zz_generated.resolvers.go | 32 + .../v1beta1/zz_password_types.go | 2 +- .../v1beta1/zz_principal_types.go | 41 +- .../zz_tokensigningcertificate_types.go | 2 +- apis/synchronization/v1beta1/zz_job_types.go | 2 +- .../v1beta1/zz_secret_types.go | 2 +- apis/users/v1beta1/zz_user_types.go | 2 +- config/provider-metadata.yaml | 691 +++++++- config/schema.json | 2 +- .../applications/v1beta1/certificate.yaml | 16 +- .../v1beta1/federatedidentitycredential.yaml | 18 +- .../applications/v1beta1/password.yaml | 18 +- .../applications/v1beta1/preauthorized.yaml | 28 +- .../serviceprincipals/v1beta1/principal.yaml | 2 +- go.mod | 33 +- go.sum | 1435 ++++++++++++++++- ...ativeunits.azuread.upbound.io_members.yaml | 6 +- ...trativeunits.azuread.upbound.io_units.yaml | 6 +- ...pp.azuread.upbound.io_roleassignments.yaml | 6 +- ...tions.azuread.upbound.io_applications.yaml | 33 +- ...tions.azuread.upbound.io_certificates.yaml | 190 ++- ...bound.io_federatedidentitycredentials.yaml | 36 +- ...ications.azuread.upbound.io_passwords.yaml | 36 +- ...ons.azuread.upbound.io_preauthorizeds.yaml | 203 ++- ...ess.azuread.upbound.io_accesspolicies.yaml | 312 +++- ...alaccess.azuread.upbound.io_locations.yaml | 12 +- ...uread.upbound.io_customdirectoryroles.yaml | 6 +- ...es.azuread.upbound.io_roleassignments.yaml | 6 +- ...rectoryroles.azuread.upbound.io_roles.yaml | 6 +- .../groups.azuread.upbound.io_groups.yaml | 6 +- .../groups.azuread.upbound.io_members.yaml | 6 +- ...ations.azuread.upbound.io_invitations.yaml | 6 +- ...read.upbound.io_claimsmappingpolicies.yaml | 6 +- ...d.azuread.upbound.io_permissiongrants.yaml | 6 +- ...ipals.azuread.upbound.io_certificates.yaml | 6 +- ...und.io_claimsmappingpolicyassignments.yaml | 6 +- ...incipals.azuread.upbound.io_passwords.yaml | 6 +- ...ncipals.azuread.upbound.io_principals.yaml | 179 +- ...d.upbound.io_tokensigningcertificates.yaml | 6 +- ...nchronization.azuread.upbound.io_jobs.yaml | 6 +- ...ronization.azuread.upbound.io_secrets.yaml | 6 +- .../crds/users.azuread.upbound.io_users.yaml | 6 +- 68 files changed, 4043 insertions(+), 473 deletions(-) diff --git a/Makefile b/Makefile index af5ce27f..3c549095 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ export TERRAFORM_VERSION := 1.5.5 export TERRAFORM_PROVIDER_SOURCE := hashicorp/azuread export TERRAFORM_DOCS_PATH := docs/resources export TERRAFORM_PROVIDER_REPO := https://github.com/hashicorp/terraform-provider-azuread -export TERRAFORM_PROVIDER_VERSION := 2.41.0 +export TERRAFORM_PROVIDER_VERSION := 2.47.0 PLATFORMS ?= linux_amd64 linux_arm64 diff --git a/apis/administrativeunits/v1beta1/zz_member_types.go b/apis/administrativeunits/v1beta1/zz_member_types.go index cccbac70..b54549b8 100755 --- a/apis/administrativeunits/v1beta1/zz_member_types.go +++ b/apis/administrativeunits/v1beta1/zz_member_types.go @@ -96,8 +96,8 @@ type MemberStatus struct { // +kubebuilder:storageversion // Member is the Schema for the Members API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/administrativeunits/v1beta1/zz_unit_types.go b/apis/administrativeunits/v1beta1/zz_unit_types.go index 406475e5..7983dbbc 100755 --- a/apis/administrativeunits/v1beta1/zz_unit_types.go +++ b/apis/administrativeunits/v1beta1/zz_unit_types.go @@ -121,8 +121,8 @@ type UnitStatus struct { // +kubebuilder:storageversion // Unit is the Schema for the Units API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/app/v1beta1/zz_roleassignment_types.go b/apis/app/v1beta1/zz_roleassignment_types.go index eba13b79..bdeb05ee 100755 --- a/apis/app/v1beta1/zz_roleassignment_types.go +++ b/apis/app/v1beta1/zz_roleassignment_types.go @@ -139,8 +139,8 @@ type RoleAssignmentStatus struct { // +kubebuilder:storageversion // RoleAssignment is the Schema for the RoleAssignments API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/applications/v1beta1/zz_application_terraformed.go b/apis/applications/v1beta1/zz_application_terraformed.go index fa00db57..d568aa35 100755 --- a/apis/applications/v1beta1/zz_application_terraformed.go +++ b/apis/applications/v1beta1/zz_application_terraformed.go @@ -126,5 +126,5 @@ func (tr *Application) LateInitialize(attrs []byte) (bool, error) { // GetTerraformSchemaVersion returns the associated Terraform schema version func (tr *Application) GetTerraformSchemaVersion() int { - return 1 + return 2 } diff --git a/apis/applications/v1beta1/zz_application_types.go b/apis/applications/v1beta1/zz_application_types.go index c1c88e79..9ce895be 100755 --- a/apis/applications/v1beta1/zz_application_types.go +++ b/apis/applications/v1beta1/zz_application_types.go @@ -79,7 +79,7 @@ type APIParameters struct { type AccessTokenInitParameters struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -98,7 +98,7 @@ type AccessTokenInitParameters struct { type AccessTokenObservation struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -117,7 +117,7 @@ type AccessTokenObservation struct { type AccessTokenParameters struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim // +kubebuilder:validation:Optional AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -349,10 +349,13 @@ type ApplicationObservation struct { // +mapType=granular AppRoleIds map[string]*string `json:"appRoleIds,omitempty" tf:"app_role_ids,omitempty"` - // The Application ID (also called Client ID). // The Application ID (also called Client ID) ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The Client ID for the application. + // The Client ID (also called Application ID) + ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"` + // A description of the application, as shown to end users. // Description of the application as shown to end users Description *string `json:"description,omitempty" tf:"description,omitempty"` @@ -382,7 +385,6 @@ type ApplicationObservation struct { // +listType=set GroupMembershipClaims []*string `json:"groupMembershipClaims,omitempty" tf:"group_membership_claims,omitempty"` - // The unique identifier for an app role or OAuth2 permission scope published by the resource application. ID *string `json:"id,omitempty" tf:"id,omitempty"` // A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. @@ -675,7 +677,7 @@ type FeatureTagsParameters struct { type IDTokenInitParameters struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -694,7 +696,7 @@ type IDTokenInitParameters struct { type IDTokenObservation struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -713,7 +715,7 @@ type IDTokenObservation struct { type IDTokenParameters struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim // +kubebuilder:validation:Optional AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -1006,7 +1008,7 @@ type ResourceAccessParameters struct { type Saml2TokenInitParameters struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -1025,7 +1027,7 @@ type Saml2TokenInitParameters struct { type Saml2TokenObservation struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -1044,7 +1046,7 @@ type Saml2TokenObservation struct { type Saml2TokenParameters struct { - // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. // List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim // +kubebuilder:validation:Optional AdditionalProperties []*string `json:"additionalProperties,omitempty" tf:"additional_properties,omitempty"` @@ -1179,8 +1181,8 @@ type ApplicationStatus struct { // +kubebuilder:storageversion // Application is the Schema for the Applications API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/applications/v1beta1/zz_certificate_types.go b/apis/applications/v1beta1/zz_certificate_types.go index ba9e3b54..a14b7067 100755 --- a/apis/applications/v1beta1/zz_certificate_types.go +++ b/apis/applications/v1beta1/zz_certificate_types.go @@ -15,7 +15,20 @@ import ( type CertificateInitParameters struct { - // The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this certificate should be created + // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + + // Reference to a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDRef *v1.Reference `json:"applicationIdRef,omitempty" tf:"-"` + + // Selector for a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"` + // The object ID of the application for which this certificate should be created // +crossplane:generate:reference:type=Application ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -55,7 +68,10 @@ type CertificateInitParameters struct { type CertificateObservation struct { - // The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this certificate should be created + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this certificate should be created ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -88,7 +104,21 @@ type CertificateObservation struct { type CertificateParameters struct { - // The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this certificate should be created + // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + + // Reference to a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDRef *v1.Reference `json:"applicationIdRef,omitempty" tf:"-"` + + // Selector for a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"` + // The object ID of the application for which this certificate should be created // +crossplane:generate:reference:type=Application // +kubebuilder:validation:Optional @@ -133,7 +163,7 @@ type CertificateParameters struct { Type *string `json:"type,omitempty" tf:"type,omitempty"` // The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the encoding argument. - // The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argumen + // The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argument // +kubebuilder:validation:Optional ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"` } @@ -166,8 +196,8 @@ type CertificateStatus struct { // +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/applications/v1beta1/zz_federatedidentitycredential_types.go b/apis/applications/v1beta1/zz_federatedidentitycredential_types.go index 5ebcc172..0ba4a543 100755 --- a/apis/applications/v1beta1/zz_federatedidentitycredential_types.go +++ b/apis/applications/v1beta1/zz_federatedidentitycredential_types.go @@ -15,7 +15,10 @@ import ( type FederatedIdentityCredentialInitParameters struct { - // The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this federated identity credential should be created + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this federated identity credential should be created // +crossplane:generate:reference:type=Application ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -51,7 +54,10 @@ type FederatedIdentityCredentialInitParameters struct { type FederatedIdentityCredentialObservation struct { - // The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this federated identity credential should be created + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this federated identity credential should be created ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -84,7 +90,11 @@ type FederatedIdentityCredentialObservation struct { type FederatedIdentityCredentialParameters struct { - // The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this federated identity credential should be created + // +kubebuilder:validation:Optional + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this federated identity credential should be created // +crossplane:generate:reference:type=Application // +kubebuilder:validation:Optional @@ -152,8 +162,8 @@ type FederatedIdentityCredentialStatus struct { // +kubebuilder:storageversion // FederatedIdentityCredential is the Schema for the FederatedIdentityCredentials API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/applications/v1beta1/zz_generated.deepcopy.go b/apis/applications/v1beta1/zz_generated.deepcopy.go index 74865010..fbba75ea 100644 --- a/apis/applications/v1beta1/zz_generated.deepcopy.go +++ b/apis/applications/v1beta1/zz_generated.deepcopy.go @@ -705,6 +705,11 @@ func (in *ApplicationObservation) DeepCopyInto(out *ApplicationObservation) { *out = new(string) **out = **in } + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -1174,6 +1179,21 @@ func (in *Certificate) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CertificateInitParameters) DeepCopyInto(out *CertificateInitParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } + if in.ApplicationIDRef != nil { + in, out := &in.ApplicationIDRef, &out.ApplicationIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ApplicationIDSelector != nil { + in, out := &in.ApplicationIDSelector, &out.ApplicationIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -1266,6 +1286,11 @@ func (in *CertificateList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CertificateObservation) DeepCopyInto(out *CertificateObservation) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -1321,6 +1346,21 @@ func (in *CertificateObservation) DeepCopy() *CertificateObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } + if in.ApplicationIDRef != nil { + in, out := &in.ApplicationIDRef, &out.ApplicationIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ApplicationIDSelector != nil { + in, out := &in.ApplicationIDSelector, &out.ApplicationIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -1549,6 +1589,11 @@ func (in *FederatedIdentityCredential) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FederatedIdentityCredentialInitParameters) DeepCopyInto(out *FederatedIdentityCredentialInitParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -1642,6 +1687,11 @@ func (in *FederatedIdentityCredentialList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FederatedIdentityCredentialObservation) DeepCopyInto(out *FederatedIdentityCredentialObservation) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -1703,6 +1753,11 @@ func (in *FederatedIdentityCredentialObservation) DeepCopy() *FederatedIdentityC // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FederatedIdentityCredentialParameters) DeepCopyInto(out *FederatedIdentityCredentialParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2297,6 +2352,11 @@ func (in *Password) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PasswordInitParameters) DeepCopyInto(out *PasswordInitParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2395,6 +2455,11 @@ func (in *PasswordList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PasswordObservation) DeepCopyInto(out *PasswordObservation) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2461,6 +2526,11 @@ func (in *PasswordObservation) DeepCopy() *PasswordObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PasswordParameters) DeepCopyInto(out *PasswordParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2589,6 +2659,21 @@ func (in *PreAuthorized) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PreAuthorizedInitParameters) DeepCopyInto(out *PreAuthorizedInitParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } + if in.ApplicationIDRef != nil { + in, out := &in.ApplicationIDRef, &out.ApplicationIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ApplicationIDSelector != nil { + in, out := &in.ApplicationIDSelector, &out.ApplicationIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2619,6 +2704,11 @@ func (in *PreAuthorizedInitParameters) DeepCopyInto(out *PreAuthorizedInitParame *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.AuthorizedClientID != nil { + in, out := &in.AuthorizedClientID, &out.AuthorizedClientID + *out = new(string) + **out = **in + } if in.PermissionIds != nil { in, out := &in.PermissionIds, &out.PermissionIds *out = make([]*string, len(*in)) @@ -2677,6 +2767,11 @@ func (in *PreAuthorizedList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PreAuthorizedObservation) DeepCopyInto(out *PreAuthorizedObservation) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2687,6 +2782,11 @@ func (in *PreAuthorizedObservation) DeepCopyInto(out *PreAuthorizedObservation) *out = new(string) **out = **in } + if in.AuthorizedClientID != nil { + in, out := &in.AuthorizedClientID, &out.AuthorizedClientID + *out = new(string) + **out = **in + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -2718,6 +2818,21 @@ func (in *PreAuthorizedObservation) DeepCopy() *PreAuthorizedObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PreAuthorizedParameters) DeepCopyInto(out *PreAuthorizedParameters) { *out = *in + if in.ApplicationID != nil { + in, out := &in.ApplicationID, &out.ApplicationID + *out = new(string) + **out = **in + } + if in.ApplicationIDRef != nil { + in, out := &in.ApplicationIDRef, &out.ApplicationIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ApplicationIDSelector != nil { + in, out := &in.ApplicationIDSelector, &out.ApplicationIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.ApplicationObjectID != nil { in, out := &in.ApplicationObjectID, &out.ApplicationObjectID *out = new(string) @@ -2748,6 +2863,11 @@ func (in *PreAuthorizedParameters) DeepCopyInto(out *PreAuthorizedParameters) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.AuthorizedClientID != nil { + in, out := &in.AuthorizedClientID, &out.AuthorizedClientID + *out = new(string) + **out = **in + } if in.PermissionIds != nil { in, out := &in.PermissionIds, &out.PermissionIds *out = make([]*string, len(*in)) diff --git a/apis/applications/v1beta1/zz_generated.resolvers.go b/apis/applications/v1beta1/zz_generated.resolvers.go index 701d608e..c28d94dc 100644 --- a/apis/applications/v1beta1/zz_generated.resolvers.go +++ b/apis/applications/v1beta1/zz_generated.resolvers.go @@ -20,6 +20,22 @@ func (mg *Certificate) ResolveReferences(ctx context.Context, c client.Reader) e var rsp reference.ResolutionResponse var err error + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ApplicationID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.ApplicationIDRef, + Selector: mg.Spec.ForProvider.ApplicationIDSelector, + To: reference.To{ + List: &ApplicationList{}, + Managed: &Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ApplicationID") + } + mg.Spec.ForProvider.ApplicationID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ApplicationIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ApplicationObjectID), Extract: reference.ExternalName(), @@ -36,6 +52,22 @@ func (mg *Certificate) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.ApplicationObjectID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ApplicationObjectIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ApplicationID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ApplicationIDRef, + Selector: mg.Spec.InitProvider.ApplicationIDSelector, + To: reference.To{ + List: &ApplicationList{}, + Managed: &Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ApplicationID") + } + mg.Spec.InitProvider.ApplicationID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ApplicationIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ApplicationObjectID), Extract: reference.ExternalName(), @@ -146,6 +178,22 @@ func (mg *PreAuthorized) ResolveReferences(ctx context.Context, c client.Reader) var rsp reference.ResolutionResponse var err error + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ApplicationID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.ApplicationIDRef, + Selector: mg.Spec.ForProvider.ApplicationIDSelector, + To: reference.To{ + List: &ApplicationList{}, + Managed: &Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ApplicationID") + } + mg.Spec.ForProvider.ApplicationID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ApplicationIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ApplicationObjectID), Extract: reference.ExternalName(), @@ -178,6 +226,22 @@ func (mg *PreAuthorized) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.AuthorizedAppID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.AuthorizedAppIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ApplicationID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ApplicationIDRef, + Selector: mg.Spec.InitProvider.ApplicationIDSelector, + To: reference.To{ + List: &ApplicationList{}, + Managed: &Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ApplicationID") + } + mg.Spec.InitProvider.ApplicationID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ApplicationIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ApplicationObjectID), Extract: reference.ExternalName(), diff --git a/apis/applications/v1beta1/zz_password_types.go b/apis/applications/v1beta1/zz_password_types.go index 9a006057..edcf5c9e 100755 --- a/apis/applications/v1beta1/zz_password_types.go +++ b/apis/applications/v1beta1/zz_password_types.go @@ -15,7 +15,10 @@ import ( type PasswordInitParameters struct { - // The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this password should be created + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this password should be created // +crossplane:generate:reference:type=Application ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -52,7 +55,10 @@ type PasswordInitParameters struct { type PasswordObservation struct { - // The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this password should be created + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this password should be created ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -86,7 +92,11 @@ type PasswordObservation struct { type PasswordParameters struct { - // The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created. + // The resource ID of the application for which this password should be created + // +kubebuilder:validation:Optional + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application for which this password should be created // +crossplane:generate:reference:type=Application // +kubebuilder:validation:Optional @@ -155,8 +165,8 @@ type PasswordStatus struct { // +kubebuilder:storageversion // Password is the Schema for the Passwords API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/applications/v1beta1/zz_preauthorized_types.go b/apis/applications/v1beta1/zz_preauthorized_types.go index f925e9d6..f15cdf69 100755 --- a/apis/applications/v1beta1/zz_preauthorized_types.go +++ b/apis/applications/v1beta1/zz_preauthorized_types.go @@ -15,7 +15,20 @@ import ( type PreAuthorizedInitParameters struct { - // The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + // The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + // The resource ID of the application to which this pre-authorized application should be added + // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + + // Reference to a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDRef *v1.Reference `json:"applicationIdRef,omitempty" tf:"-"` + + // Selector for a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"` + // The object ID of the application to which this pre-authorized application should be added // +crossplane:generate:reference:type=Application ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` @@ -41,6 +54,10 @@ type PreAuthorizedInitParameters struct { // +kubebuilder:validation:Optional AuthorizedAppIDSelector *v1.Selector `json:"authorizedAppIdSelector,omitempty" tf:"-"` + // The client ID of the application being authorized. Changing this field forces a new resource to be created. + // The client ID of the pre-authorized application + AuthorizedClientID *string `json:"authorizedClientId,omitempty" tf:"authorized_client_id,omitempty"` + // A set of permission scope IDs required by the authorized application. // The IDs of the permission scopes required by the pre-authorized application // +listType=set @@ -49,13 +66,20 @@ type PreAuthorizedInitParameters struct { type PreAuthorizedObservation struct { - // The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + // The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + // The resource ID of the application to which this pre-authorized application should be added + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + // The object ID of the application to which this pre-authorized application should be added ApplicationObjectID *string `json:"applicationObjectId,omitempty" tf:"application_object_id,omitempty"` // The application ID of the pre-authorized application AuthorizedAppID *string `json:"authorizedAppId,omitempty" tf:"authorized_app_id,omitempty"` + // The client ID of the application being authorized. Changing this field forces a new resource to be created. + // The client ID of the pre-authorized application + AuthorizedClientID *string `json:"authorizedClientId,omitempty" tf:"authorized_client_id,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` // A set of permission scope IDs required by the authorized application. @@ -66,7 +90,21 @@ type PreAuthorizedObservation struct { type PreAuthorizedParameters struct { - // The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + // The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + // The resource ID of the application to which this pre-authorized application should be added + // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` + + // Reference to a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDRef *v1.Reference `json:"applicationIdRef,omitempty" tf:"-"` + + // Selector for a Application in applications to populate applicationId. + // +kubebuilder:validation:Optional + ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"` + // The object ID of the application to which this pre-authorized application should be added // +crossplane:generate:reference:type=Application // +kubebuilder:validation:Optional @@ -94,6 +132,11 @@ type PreAuthorizedParameters struct { // +kubebuilder:validation:Optional AuthorizedAppIDSelector *v1.Selector `json:"authorizedAppIdSelector,omitempty" tf:"-"` + // The client ID of the application being authorized. Changing this field forces a new resource to be created. + // The client ID of the pre-authorized application + // +kubebuilder:validation:Optional + AuthorizedClientID *string `json:"authorizedClientId,omitempty" tf:"authorized_client_id,omitempty"` + // A set of permission scope IDs required by the authorized application. // The IDs of the permission scopes required by the pre-authorized application // +kubebuilder:validation:Optional @@ -129,8 +172,8 @@ type PreAuthorizedStatus struct { // +kubebuilder:storageversion // PreAuthorized is the Schema for the PreAuthorizeds API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/conditionalaccess/v1beta1/zz_accesspolicy_types.go b/apis/conditionalaccess/v1beta1/zz_accesspolicy_types.go index bd0d7b91..6b64677b 100755 --- a/apis/conditionalaccess/v1beta1/zz_accesspolicy_types.go +++ b/apis/conditionalaccess/v1beta1/zz_accesspolicy_types.go @@ -254,23 +254,81 @@ type ConditionsParameters struct { type DevicesInitParameters struct { - // A filter block as described below. A filter block can be added to an existing policy, but removing the filter block forces a new resource to be created. + // A filter block as described below. Filter []FilterInitParameters `json:"filter,omitempty" tf:"filter,omitempty"` } type DevicesObservation struct { - // A filter block as described below. A filter block can be added to an existing policy, but removing the filter block forces a new resource to be created. + // A filter block as described below. Filter []FilterObservation `json:"filter,omitempty" tf:"filter,omitempty"` } type DevicesParameters struct { - // A filter block as described below. A filter block can be added to an existing policy, but removing the filter block forces a new resource to be created. + // A filter block as described below. // +kubebuilder:validation:Optional Filter []FilterParameters `json:"filter,omitempty" tf:"filter,omitempty"` } +type ExcludedGuestsOrExternalUsersInitParameters struct { + + // An external_tenants block as documented below, which specifies external tenants in a policy scope. + ExternalTenants []ExternalTenantsInitParameters `json:"externalTenants,omitempty" tf:"external_tenants,omitempty"` + + // A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue. + GuestOrExternalUserTypes []*string `json:"guestOrExternalUserTypes,omitempty" tf:"guest_or_external_user_types,omitempty"` +} + +type ExcludedGuestsOrExternalUsersObservation struct { + + // An external_tenants block as documented below, which specifies external tenants in a policy scope. + ExternalTenants []ExternalTenantsObservation `json:"externalTenants,omitempty" tf:"external_tenants,omitempty"` + + // A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue. + GuestOrExternalUserTypes []*string `json:"guestOrExternalUserTypes,omitempty" tf:"guest_or_external_user_types,omitempty"` +} + +type ExcludedGuestsOrExternalUsersParameters struct { + + // An external_tenants block as documented below, which specifies external tenants in a policy scope. + // +kubebuilder:validation:Optional + ExternalTenants []ExternalTenantsParameters `json:"externalTenants,omitempty" tf:"external_tenants,omitempty"` + + // A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue. + // +kubebuilder:validation:Optional + GuestOrExternalUserTypes []*string `json:"guestOrExternalUserTypes" tf:"guest_or_external_user_types,omitempty"` +} + +type ExternalTenantsInitParameters struct { + + // A list tenant IDs. Can only be specified if membership_kind is enumerated. + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue. + MembershipKind *string `json:"membershipKind,omitempty" tf:"membership_kind,omitempty"` +} + +type ExternalTenantsObservation struct { + + // A list tenant IDs. Can only be specified if membership_kind is enumerated. + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue. + MembershipKind *string `json:"membershipKind,omitempty" tf:"membership_kind,omitempty"` +} + +type ExternalTenantsParameters struct { + + // A list tenant IDs. Can only be specified if membership_kind is enumerated. + // +kubebuilder:validation:Optional + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue. + // +kubebuilder:validation:Optional + MembershipKind *string `json:"membershipKind" tf:"membership_kind,omitempty"` +} + type FilterInitParameters struct { // Whether to include in, or exclude from, matching devices from the policy. Supported values are include or exclude. @@ -302,6 +360,9 @@ type FilterParameters struct { type GrantControlsInitParameters struct { + // ID of an Authentication Strength Policy to use in this policy. + AuthenticationStrengthPolicyID *string `json:"authenticationStrengthPolicyId,omitempty" tf:"authentication_strength_policy_id,omitempty"` + // List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, compliantApplication, compliantDevice, domainJoinedDevice, passwordChange or unknownFutureValue. BuiltInControls []*string `json:"builtInControls,omitempty" tf:"built_in_controls,omitempty"` @@ -317,6 +378,9 @@ type GrantControlsInitParameters struct { type GrantControlsObservation struct { + // ID of an Authentication Strength Policy to use in this policy. + AuthenticationStrengthPolicyID *string `json:"authenticationStrengthPolicyId,omitempty" tf:"authentication_strength_policy_id,omitempty"` + // List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, compliantApplication, compliantDevice, domainJoinedDevice, passwordChange or unknownFutureValue. BuiltInControls []*string `json:"builtInControls,omitempty" tf:"built_in_controls,omitempty"` @@ -332,9 +396,13 @@ type GrantControlsObservation struct { type GrantControlsParameters struct { + // ID of an Authentication Strength Policy to use in this policy. + // +kubebuilder:validation:Optional + AuthenticationStrengthPolicyID *string `json:"authenticationStrengthPolicyId,omitempty" tf:"authentication_strength_policy_id,omitempty"` + // List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, compliantApplication, compliantDevice, domainJoinedDevice, passwordChange or unknownFutureValue. // +kubebuilder:validation:Optional - BuiltInControls []*string `json:"builtInControls" tf:"built_in_controls,omitempty"` + BuiltInControls []*string `json:"builtInControls,omitempty" tf:"built_in_controls,omitempty"` // List of custom controls IDs required by the policy. // +kubebuilder:validation:Optional @@ -349,6 +417,64 @@ type GrantControlsParameters struct { TermsOfUse []*string `json:"termsOfUse,omitempty" tf:"terms_of_use,omitempty"` } +type IncludedGuestsOrExternalUsersExternalTenantsInitParameters struct { + + // A list tenant IDs. Can only be specified if membership_kind is enumerated. + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue. + MembershipKind *string `json:"membershipKind,omitempty" tf:"membership_kind,omitempty"` +} + +type IncludedGuestsOrExternalUsersExternalTenantsObservation struct { + + // A list tenant IDs. Can only be specified if membership_kind is enumerated. + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue. + MembershipKind *string `json:"membershipKind,omitempty" tf:"membership_kind,omitempty"` +} + +type IncludedGuestsOrExternalUsersExternalTenantsParameters struct { + + // A list tenant IDs. Can only be specified if membership_kind is enumerated. + // +kubebuilder:validation:Optional + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue. + // +kubebuilder:validation:Optional + MembershipKind *string `json:"membershipKind" tf:"membership_kind,omitempty"` +} + +type IncludedGuestsOrExternalUsersInitParameters struct { + + // An external_tenants block as documented below, which specifies external tenants in a policy scope. + ExternalTenants []IncludedGuestsOrExternalUsersExternalTenantsInitParameters `json:"externalTenants,omitempty" tf:"external_tenants,omitempty"` + + // A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue. + GuestOrExternalUserTypes []*string `json:"guestOrExternalUserTypes,omitempty" tf:"guest_or_external_user_types,omitempty"` +} + +type IncludedGuestsOrExternalUsersObservation struct { + + // An external_tenants block as documented below, which specifies external tenants in a policy scope. + ExternalTenants []IncludedGuestsOrExternalUsersExternalTenantsObservation `json:"externalTenants,omitempty" tf:"external_tenants,omitempty"` + + // A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue. + GuestOrExternalUserTypes []*string `json:"guestOrExternalUserTypes,omitempty" tf:"guest_or_external_user_types,omitempty"` +} + +type IncludedGuestsOrExternalUsersParameters struct { + + // An external_tenants block as documented below, which specifies external tenants in a policy scope. + // +kubebuilder:validation:Optional + ExternalTenants []IncludedGuestsOrExternalUsersExternalTenantsParameters `json:"externalTenants,omitempty" tf:"external_tenants,omitempty"` + + // A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue. + // +kubebuilder:validation:Optional + GuestOrExternalUserTypes []*string `json:"guestOrExternalUserTypes" tf:"guest_or_external_user_types,omitempty"` +} + type LocationsInitParameters struct { // A list of location IDs excluded from scope of policy. Can also be set to AllTrusted. @@ -409,7 +535,7 @@ type PlatformsParameters struct { type SessionControlsInitParameters struct { - // Whether or not application enforced restrictions are enabled. Defaults to false. + // Whether application enforced restrictions are enabled. Defaults to false. ApplicationEnforcedRestrictionsEnabled *bool `json:"applicationEnforcedRestrictionsEnabled,omitempty" tf:"application_enforced_restrictions_enabled,omitempty"` // Enables cloud app security and specifies the cloud app security policy to use. Possible values are: blockDownloads, mcasConfigured, monitorOnly or unknownFutureValue. @@ -418,19 +544,25 @@ type SessionControlsInitParameters struct { // Disables resilience defaults. Defaults to false. DisableResilienceDefaults *bool `json:"disableResilienceDefaults,omitempty" tf:"disable_resilience_defaults,omitempty"` - // Session control to define whether to persist cookies or not. Possible values are: always or never. + // Session control to define whether to persist cookies. Possible values are: always or never. PersistentBrowserMode *string `json:"persistentBrowserMode,omitempty" tf:"persistent_browser_mode,omitempty"` - // Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created. + // Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. SignInFrequency *float64 `json:"signInFrequency,omitempty" tf:"sign_in_frequency,omitempty"` - // The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created. + // Authentication type for enforcing sign-in frequency. Possible values are: primaryAndSecondaryAuthentication or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication. + SignInFrequencyAuthenticationType *string `json:"signInFrequencyAuthenticationType,omitempty" tf:"sign_in_frequency_authentication_type,omitempty"` + + // The interval to apply to sign-in frequency control. Possible values are: timeBased or everyTime. Defaults to timeBased. + SignInFrequencyInterval *string `json:"signInFrequencyInterval,omitempty" tf:"sign_in_frequency_interval,omitempty"` + + // The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. SignInFrequencyPeriod *string `json:"signInFrequencyPeriod,omitempty" tf:"sign_in_frequency_period,omitempty"` } type SessionControlsObservation struct { - // Whether or not application enforced restrictions are enabled. Defaults to false. + // Whether application enforced restrictions are enabled. Defaults to false. ApplicationEnforcedRestrictionsEnabled *bool `json:"applicationEnforcedRestrictionsEnabled,omitempty" tf:"application_enforced_restrictions_enabled,omitempty"` // Enables cloud app security and specifies the cloud app security policy to use. Possible values are: blockDownloads, mcasConfigured, monitorOnly or unknownFutureValue. @@ -439,19 +571,25 @@ type SessionControlsObservation struct { // Disables resilience defaults. Defaults to false. DisableResilienceDefaults *bool `json:"disableResilienceDefaults,omitempty" tf:"disable_resilience_defaults,omitempty"` - // Session control to define whether to persist cookies or not. Possible values are: always or never. + // Session control to define whether to persist cookies. Possible values are: always or never. PersistentBrowserMode *string `json:"persistentBrowserMode,omitempty" tf:"persistent_browser_mode,omitempty"` - // Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created. + // Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. SignInFrequency *float64 `json:"signInFrequency,omitempty" tf:"sign_in_frequency,omitempty"` - // The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created. + // Authentication type for enforcing sign-in frequency. Possible values are: primaryAndSecondaryAuthentication or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication. + SignInFrequencyAuthenticationType *string `json:"signInFrequencyAuthenticationType,omitempty" tf:"sign_in_frequency_authentication_type,omitempty"` + + // The interval to apply to sign-in frequency control. Possible values are: timeBased or everyTime. Defaults to timeBased. + SignInFrequencyInterval *string `json:"signInFrequencyInterval,omitempty" tf:"sign_in_frequency_interval,omitempty"` + + // The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. SignInFrequencyPeriod *string `json:"signInFrequencyPeriod,omitempty" tf:"sign_in_frequency_period,omitempty"` } type SessionControlsParameters struct { - // Whether or not application enforced restrictions are enabled. Defaults to false. + // Whether application enforced restrictions are enabled. Defaults to false. // +kubebuilder:validation:Optional ApplicationEnforcedRestrictionsEnabled *bool `json:"applicationEnforcedRestrictionsEnabled,omitempty" tf:"application_enforced_restrictions_enabled,omitempty"` @@ -463,15 +601,23 @@ type SessionControlsParameters struct { // +kubebuilder:validation:Optional DisableResilienceDefaults *bool `json:"disableResilienceDefaults,omitempty" tf:"disable_resilience_defaults,omitempty"` - // Session control to define whether to persist cookies or not. Possible values are: always or never. + // Session control to define whether to persist cookies. Possible values are: always or never. // +kubebuilder:validation:Optional PersistentBrowserMode *string `json:"persistentBrowserMode,omitempty" tf:"persistent_browser_mode,omitempty"` - // Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created. + // Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. // +kubebuilder:validation:Optional SignInFrequency *float64 `json:"signInFrequency,omitempty" tf:"sign_in_frequency,omitempty"` - // The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created. + // Authentication type for enforcing sign-in frequency. Possible values are: primaryAndSecondaryAuthentication or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication. + // +kubebuilder:validation:Optional + SignInFrequencyAuthenticationType *string `json:"signInFrequencyAuthenticationType,omitempty" tf:"sign_in_frequency_authentication_type,omitempty"` + + // The interval to apply to sign-in frequency control. Possible values are: timeBased or everyTime. Defaults to timeBased. + // +kubebuilder:validation:Optional + SignInFrequencyInterval *string `json:"signInFrequencyInterval,omitempty" tf:"sign_in_frequency_interval,omitempty"` + + // The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. // +kubebuilder:validation:Optional SignInFrequencyPeriod *string `json:"signInFrequencyPeriod,omitempty" tf:"sign_in_frequency_period,omitempty"` } @@ -481,6 +627,9 @@ type UsersInitParameters struct { // A list of group IDs excluded from scope of policy. ExcludedGroups []*string `json:"excludedGroups,omitempty" tf:"excluded_groups,omitempty"` + // A guests_or_external_users block as documented below, which specifies internal guests and external users excluded from scope of policy. + ExcludedGuestsOrExternalUsers []ExcludedGuestsOrExternalUsersInitParameters `json:"excludedGuestsOrExternalUsers,omitempty" tf:"excluded_guests_or_external_users,omitempty"` + // A list of role IDs excluded from scope of policy. ExcludedRoles []*string `json:"excludedRoles,omitempty" tf:"excluded_roles,omitempty"` @@ -490,6 +639,9 @@ type UsersInitParameters struct { // A list of group IDs in scope of policy unless explicitly excluded. IncludedGroups []*string `json:"includedGroups,omitempty" tf:"included_groups,omitempty"` + // A guests_or_external_users block as documented below, which specifies internal guests and external users in scope of policy. + IncludedGuestsOrExternalUsers []IncludedGuestsOrExternalUsersInitParameters `json:"includedGuestsOrExternalUsers,omitempty" tf:"included_guests_or_external_users,omitempty"` + // A list of role IDs in scope of policy unless explicitly excluded. IncludedRoles []*string `json:"includedRoles,omitempty" tf:"included_roles,omitempty"` @@ -502,6 +654,9 @@ type UsersObservation struct { // A list of group IDs excluded from scope of policy. ExcludedGroups []*string `json:"excludedGroups,omitempty" tf:"excluded_groups,omitempty"` + // A guests_or_external_users block as documented below, which specifies internal guests and external users excluded from scope of policy. + ExcludedGuestsOrExternalUsers []ExcludedGuestsOrExternalUsersObservation `json:"excludedGuestsOrExternalUsers,omitempty" tf:"excluded_guests_or_external_users,omitempty"` + // A list of role IDs excluded from scope of policy. ExcludedRoles []*string `json:"excludedRoles,omitempty" tf:"excluded_roles,omitempty"` @@ -511,6 +666,9 @@ type UsersObservation struct { // A list of group IDs in scope of policy unless explicitly excluded. IncludedGroups []*string `json:"includedGroups,omitempty" tf:"included_groups,omitempty"` + // A guests_or_external_users block as documented below, which specifies internal guests and external users in scope of policy. + IncludedGuestsOrExternalUsers []IncludedGuestsOrExternalUsersObservation `json:"includedGuestsOrExternalUsers,omitempty" tf:"included_guests_or_external_users,omitempty"` + // A list of role IDs in scope of policy unless explicitly excluded. IncludedRoles []*string `json:"includedRoles,omitempty" tf:"included_roles,omitempty"` @@ -524,6 +682,10 @@ type UsersParameters struct { // +kubebuilder:validation:Optional ExcludedGroups []*string `json:"excludedGroups,omitempty" tf:"excluded_groups,omitempty"` + // A guests_or_external_users block as documented below, which specifies internal guests and external users excluded from scope of policy. + // +kubebuilder:validation:Optional + ExcludedGuestsOrExternalUsers []ExcludedGuestsOrExternalUsersParameters `json:"excludedGuestsOrExternalUsers,omitempty" tf:"excluded_guests_or_external_users,omitempty"` + // A list of role IDs excluded from scope of policy. // +kubebuilder:validation:Optional ExcludedRoles []*string `json:"excludedRoles,omitempty" tf:"excluded_roles,omitempty"` @@ -536,6 +698,10 @@ type UsersParameters struct { // +kubebuilder:validation:Optional IncludedGroups []*string `json:"includedGroups,omitempty" tf:"included_groups,omitempty"` + // A guests_or_external_users block as documented below, which specifies internal guests and external users in scope of policy. + // +kubebuilder:validation:Optional + IncludedGuestsOrExternalUsers []IncludedGuestsOrExternalUsersParameters `json:"includedGuestsOrExternalUsers,omitempty" tf:"included_guests_or_external_users,omitempty"` + // A list of role IDs in scope of policy unless explicitly excluded. // +kubebuilder:validation:Optional IncludedRoles []*string `json:"includedRoles,omitempty" tf:"included_roles,omitempty"` @@ -573,8 +739,8 @@ type AccessPolicyStatus struct { // +kubebuilder:storageversion // AccessPolicy is the Schema for the AccessPolicys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/conditionalaccess/v1beta1/zz_generated.deepcopy.go b/apis/conditionalaccess/v1beta1/zz_generated.deepcopy.go index bfcf5c8e..2a6b2f3d 100644 --- a/apis/conditionalaccess/v1beta1/zz_generated.deepcopy.go +++ b/apis/conditionalaccess/v1beta1/zz_generated.deepcopy.go @@ -966,6 +966,198 @@ func (in *DevicesParameters) DeepCopy() *DevicesParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludedGuestsOrExternalUsersInitParameters) DeepCopyInto(out *ExcludedGuestsOrExternalUsersInitParameters) { + *out = *in + if in.ExternalTenants != nil { + in, out := &in.ExternalTenants, &out.ExternalTenants + *out = make([]ExternalTenantsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GuestOrExternalUserTypes != nil { + in, out := &in.GuestOrExternalUserTypes, &out.GuestOrExternalUserTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludedGuestsOrExternalUsersInitParameters. +func (in *ExcludedGuestsOrExternalUsersInitParameters) DeepCopy() *ExcludedGuestsOrExternalUsersInitParameters { + if in == nil { + return nil + } + out := new(ExcludedGuestsOrExternalUsersInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludedGuestsOrExternalUsersObservation) DeepCopyInto(out *ExcludedGuestsOrExternalUsersObservation) { + *out = *in + if in.ExternalTenants != nil { + in, out := &in.ExternalTenants, &out.ExternalTenants + *out = make([]ExternalTenantsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GuestOrExternalUserTypes != nil { + in, out := &in.GuestOrExternalUserTypes, &out.GuestOrExternalUserTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludedGuestsOrExternalUsersObservation. +func (in *ExcludedGuestsOrExternalUsersObservation) DeepCopy() *ExcludedGuestsOrExternalUsersObservation { + if in == nil { + return nil + } + out := new(ExcludedGuestsOrExternalUsersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludedGuestsOrExternalUsersParameters) DeepCopyInto(out *ExcludedGuestsOrExternalUsersParameters) { + *out = *in + if in.ExternalTenants != nil { + in, out := &in.ExternalTenants, &out.ExternalTenants + *out = make([]ExternalTenantsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GuestOrExternalUserTypes != nil { + in, out := &in.GuestOrExternalUserTypes, &out.GuestOrExternalUserTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludedGuestsOrExternalUsersParameters. +func (in *ExcludedGuestsOrExternalUsersParameters) DeepCopy() *ExcludedGuestsOrExternalUsersParameters { + if in == nil { + return nil + } + out := new(ExcludedGuestsOrExternalUsersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalTenantsInitParameters) DeepCopyInto(out *ExternalTenantsInitParameters) { + *out = *in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MembershipKind != nil { + in, out := &in.MembershipKind, &out.MembershipKind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalTenantsInitParameters. +func (in *ExternalTenantsInitParameters) DeepCopy() *ExternalTenantsInitParameters { + if in == nil { + return nil + } + out := new(ExternalTenantsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalTenantsObservation) DeepCopyInto(out *ExternalTenantsObservation) { + *out = *in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MembershipKind != nil { + in, out := &in.MembershipKind, &out.MembershipKind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalTenantsObservation. +func (in *ExternalTenantsObservation) DeepCopy() *ExternalTenantsObservation { + if in == nil { + return nil + } + out := new(ExternalTenantsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalTenantsParameters) DeepCopyInto(out *ExternalTenantsParameters) { + *out = *in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MembershipKind != nil { + in, out := &in.MembershipKind, &out.MembershipKind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalTenantsParameters. +func (in *ExternalTenantsParameters) DeepCopy() *ExternalTenantsParameters { + if in == nil { + return nil + } + out := new(ExternalTenantsParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FilterInitParameters) DeepCopyInto(out *FilterInitParameters) { *out = *in @@ -1044,6 +1236,11 @@ func (in *FilterParameters) DeepCopy() *FilterParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GrantControlsInitParameters) DeepCopyInto(out *GrantControlsInitParameters) { *out = *in + if in.AuthenticationStrengthPolicyID != nil { + in, out := &in.AuthenticationStrengthPolicyID, &out.AuthenticationStrengthPolicyID + *out = new(string) + **out = **in + } if in.BuiltInControls != nil { in, out := &in.BuiltInControls, &out.BuiltInControls *out = make([]*string, len(*in)) @@ -1097,6 +1294,11 @@ func (in *GrantControlsInitParameters) DeepCopy() *GrantControlsInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GrantControlsObservation) DeepCopyInto(out *GrantControlsObservation) { *out = *in + if in.AuthenticationStrengthPolicyID != nil { + in, out := &in.AuthenticationStrengthPolicyID, &out.AuthenticationStrengthPolicyID + *out = new(string) + **out = **in + } if in.BuiltInControls != nil { in, out := &in.BuiltInControls, &out.BuiltInControls *out = make([]*string, len(*in)) @@ -1150,6 +1352,11 @@ func (in *GrantControlsObservation) DeepCopy() *GrantControlsObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GrantControlsParameters) DeepCopyInto(out *GrantControlsParameters) { *out = *in + if in.AuthenticationStrengthPolicyID != nil { + in, out := &in.AuthenticationStrengthPolicyID, &out.AuthenticationStrengthPolicyID + *out = new(string) + **out = **in + } if in.BuiltInControls != nil { in, out := &in.BuiltInControls, &out.BuiltInControls *out = make([]*string, len(*in)) @@ -1293,6 +1500,198 @@ func (in *IPParameters) DeepCopy() *IPParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IncludedGuestsOrExternalUsersExternalTenantsInitParameters) DeepCopyInto(out *IncludedGuestsOrExternalUsersExternalTenantsInitParameters) { + *out = *in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MembershipKind != nil { + in, out := &in.MembershipKind, &out.MembershipKind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncludedGuestsOrExternalUsersExternalTenantsInitParameters. +func (in *IncludedGuestsOrExternalUsersExternalTenantsInitParameters) DeepCopy() *IncludedGuestsOrExternalUsersExternalTenantsInitParameters { + if in == nil { + return nil + } + out := new(IncludedGuestsOrExternalUsersExternalTenantsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IncludedGuestsOrExternalUsersExternalTenantsObservation) DeepCopyInto(out *IncludedGuestsOrExternalUsersExternalTenantsObservation) { + *out = *in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MembershipKind != nil { + in, out := &in.MembershipKind, &out.MembershipKind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncludedGuestsOrExternalUsersExternalTenantsObservation. +func (in *IncludedGuestsOrExternalUsersExternalTenantsObservation) DeepCopy() *IncludedGuestsOrExternalUsersExternalTenantsObservation { + if in == nil { + return nil + } + out := new(IncludedGuestsOrExternalUsersExternalTenantsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IncludedGuestsOrExternalUsersExternalTenantsParameters) DeepCopyInto(out *IncludedGuestsOrExternalUsersExternalTenantsParameters) { + *out = *in + if in.Members != nil { + in, out := &in.Members, &out.Members + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MembershipKind != nil { + in, out := &in.MembershipKind, &out.MembershipKind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncludedGuestsOrExternalUsersExternalTenantsParameters. +func (in *IncludedGuestsOrExternalUsersExternalTenantsParameters) DeepCopy() *IncludedGuestsOrExternalUsersExternalTenantsParameters { + if in == nil { + return nil + } + out := new(IncludedGuestsOrExternalUsersExternalTenantsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IncludedGuestsOrExternalUsersInitParameters) DeepCopyInto(out *IncludedGuestsOrExternalUsersInitParameters) { + *out = *in + if in.ExternalTenants != nil { + in, out := &in.ExternalTenants, &out.ExternalTenants + *out = make([]IncludedGuestsOrExternalUsersExternalTenantsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GuestOrExternalUserTypes != nil { + in, out := &in.GuestOrExternalUserTypes, &out.GuestOrExternalUserTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncludedGuestsOrExternalUsersInitParameters. +func (in *IncludedGuestsOrExternalUsersInitParameters) DeepCopy() *IncludedGuestsOrExternalUsersInitParameters { + if in == nil { + return nil + } + out := new(IncludedGuestsOrExternalUsersInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IncludedGuestsOrExternalUsersObservation) DeepCopyInto(out *IncludedGuestsOrExternalUsersObservation) { + *out = *in + if in.ExternalTenants != nil { + in, out := &in.ExternalTenants, &out.ExternalTenants + *out = make([]IncludedGuestsOrExternalUsersExternalTenantsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GuestOrExternalUserTypes != nil { + in, out := &in.GuestOrExternalUserTypes, &out.GuestOrExternalUserTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncludedGuestsOrExternalUsersObservation. +func (in *IncludedGuestsOrExternalUsersObservation) DeepCopy() *IncludedGuestsOrExternalUsersObservation { + if in == nil { + return nil + } + out := new(IncludedGuestsOrExternalUsersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IncludedGuestsOrExternalUsersParameters) DeepCopyInto(out *IncludedGuestsOrExternalUsersParameters) { + *out = *in + if in.ExternalTenants != nil { + in, out := &in.ExternalTenants, &out.ExternalTenants + *out = make([]IncludedGuestsOrExternalUsersExternalTenantsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GuestOrExternalUserTypes != nil { + in, out := &in.GuestOrExternalUserTypes, &out.GuestOrExternalUserTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncludedGuestsOrExternalUsersParameters. +func (in *IncludedGuestsOrExternalUsersParameters) DeepCopy() *IncludedGuestsOrExternalUsersParameters { + if in == nil { + return nil + } + out := new(IncludedGuestsOrExternalUsersParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Location) DeepCopyInto(out *Location) { *out = *in @@ -1744,6 +2143,16 @@ func (in *SessionControlsInitParameters) DeepCopyInto(out *SessionControlsInitPa *out = new(float64) **out = **in } + if in.SignInFrequencyAuthenticationType != nil { + in, out := &in.SignInFrequencyAuthenticationType, &out.SignInFrequencyAuthenticationType + *out = new(string) + **out = **in + } + if in.SignInFrequencyInterval != nil { + in, out := &in.SignInFrequencyInterval, &out.SignInFrequencyInterval + *out = new(string) + **out = **in + } if in.SignInFrequencyPeriod != nil { in, out := &in.SignInFrequencyPeriod, &out.SignInFrequencyPeriod *out = new(string) @@ -1789,6 +2198,16 @@ func (in *SessionControlsObservation) DeepCopyInto(out *SessionControlsObservati *out = new(float64) **out = **in } + if in.SignInFrequencyAuthenticationType != nil { + in, out := &in.SignInFrequencyAuthenticationType, &out.SignInFrequencyAuthenticationType + *out = new(string) + **out = **in + } + if in.SignInFrequencyInterval != nil { + in, out := &in.SignInFrequencyInterval, &out.SignInFrequencyInterval + *out = new(string) + **out = **in + } if in.SignInFrequencyPeriod != nil { in, out := &in.SignInFrequencyPeriod, &out.SignInFrequencyPeriod *out = new(string) @@ -1834,6 +2253,16 @@ func (in *SessionControlsParameters) DeepCopyInto(out *SessionControlsParameters *out = new(float64) **out = **in } + if in.SignInFrequencyAuthenticationType != nil { + in, out := &in.SignInFrequencyAuthenticationType, &out.SignInFrequencyAuthenticationType + *out = new(string) + **out = **in + } + if in.SignInFrequencyInterval != nil { + in, out := &in.SignInFrequencyInterval, &out.SignInFrequencyInterval + *out = new(string) + **out = **in + } if in.SignInFrequencyPeriod != nil { in, out := &in.SignInFrequencyPeriod, &out.SignInFrequencyPeriod *out = new(string) @@ -1865,6 +2294,13 @@ func (in *UsersInitParameters) DeepCopyInto(out *UsersInitParameters) { } } } + if in.ExcludedGuestsOrExternalUsers != nil { + in, out := &in.ExcludedGuestsOrExternalUsers, &out.ExcludedGuestsOrExternalUsers + *out = make([]ExcludedGuestsOrExternalUsersInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.ExcludedRoles != nil { in, out := &in.ExcludedRoles, &out.ExcludedRoles *out = make([]*string, len(*in)) @@ -1898,6 +2334,13 @@ func (in *UsersInitParameters) DeepCopyInto(out *UsersInitParameters) { } } } + if in.IncludedGuestsOrExternalUsers != nil { + in, out := &in.IncludedGuestsOrExternalUsers, &out.IncludedGuestsOrExternalUsers + *out = make([]IncludedGuestsOrExternalUsersInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.IncludedRoles != nil { in, out := &in.IncludedRoles, &out.IncludedRoles *out = make([]*string, len(*in)) @@ -1946,6 +2389,13 @@ func (in *UsersObservation) DeepCopyInto(out *UsersObservation) { } } } + if in.ExcludedGuestsOrExternalUsers != nil { + in, out := &in.ExcludedGuestsOrExternalUsers, &out.ExcludedGuestsOrExternalUsers + *out = make([]ExcludedGuestsOrExternalUsersObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.ExcludedRoles != nil { in, out := &in.ExcludedRoles, &out.ExcludedRoles *out = make([]*string, len(*in)) @@ -1979,6 +2429,13 @@ func (in *UsersObservation) DeepCopyInto(out *UsersObservation) { } } } + if in.IncludedGuestsOrExternalUsers != nil { + in, out := &in.IncludedGuestsOrExternalUsers, &out.IncludedGuestsOrExternalUsers + *out = make([]IncludedGuestsOrExternalUsersObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.IncludedRoles != nil { in, out := &in.IncludedRoles, &out.IncludedRoles *out = make([]*string, len(*in)) @@ -2027,6 +2484,13 @@ func (in *UsersParameters) DeepCopyInto(out *UsersParameters) { } } } + if in.ExcludedGuestsOrExternalUsers != nil { + in, out := &in.ExcludedGuestsOrExternalUsers, &out.ExcludedGuestsOrExternalUsers + *out = make([]ExcludedGuestsOrExternalUsersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.ExcludedRoles != nil { in, out := &in.ExcludedRoles, &out.ExcludedRoles *out = make([]*string, len(*in)) @@ -2060,6 +2524,13 @@ func (in *UsersParameters) DeepCopyInto(out *UsersParameters) { } } } + if in.IncludedGuestsOrExternalUsers != nil { + in, out := &in.IncludedGuestsOrExternalUsers, &out.IncludedGuestsOrExternalUsers + *out = make([]IncludedGuestsOrExternalUsersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.IncludedRoles != nil { in, out := &in.IncludedRoles, &out.IncludedRoles *out = make([]*string, len(*in)) diff --git a/apis/conditionalaccess/v1beta1/zz_location_types.go b/apis/conditionalaccess/v1beta1/zz_location_types.go index 2babd066..2fdf9c21 100755 --- a/apis/conditionalaccess/v1beta1/zz_location_types.go +++ b/apis/conditionalaccess/v1beta1/zz_location_types.go @@ -44,7 +44,7 @@ type CountryParameters struct { type IPInitParameters struct { - // List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. + // List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. Each CIDR prefix must be /8 or larger. IPRanges []*string `json:"ipRanges,omitempty" tf:"ip_ranges,omitempty"` // Whether the named location is trusted. Defaults to false. @@ -53,7 +53,7 @@ type IPInitParameters struct { type IPObservation struct { - // List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. + // List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. Each CIDR prefix must be /8 or larger. IPRanges []*string `json:"ipRanges,omitempty" tf:"ip_ranges,omitempty"` // Whether the named location is trusted. Defaults to false. @@ -62,7 +62,7 @@ type IPObservation struct { type IPParameters struct { - // List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. + // List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. Each CIDR prefix must be /8 or larger. // +kubebuilder:validation:Optional IPRanges []*string `json:"ipRanges" tf:"ip_ranges,omitempty"` @@ -141,8 +141,8 @@ type LocationStatus struct { // +kubebuilder:storageversion // Location is the Schema for the Locations API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/directoryroles/v1beta1/zz_customdirectoryrole_types.go b/apis/directoryroles/v1beta1/zz_customdirectoryrole_types.go index 89a85ab6..1ff70a68 100755 --- a/apis/directoryroles/v1beta1/zz_customdirectoryrole_types.go +++ b/apis/directoryroles/v1beta1/zz_customdirectoryrole_types.go @@ -159,8 +159,8 @@ type CustomDirectoryRoleStatus struct { // +kubebuilder:storageversion // CustomDirectoryRole is the Schema for the CustomDirectoryRoles API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/directoryroles/v1beta1/zz_role_types.go b/apis/directoryroles/v1beta1/zz_role_types.go index 730c8702..b0105b79 100755 --- a/apis/directoryroles/v1beta1/zz_role_types.go +++ b/apis/directoryroles/v1beta1/zz_role_types.go @@ -77,8 +77,8 @@ type RoleStatus struct { // +kubebuilder:storageversion // Role is the Schema for the Roles API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/directoryroles/v1beta1/zz_roleassignment_types.go b/apis/directoryroles/v1beta1/zz_roleassignment_types.go index 2ba7452d..ff459e0c 100755 --- a/apis/directoryroles/v1beta1/zz_roleassignment_types.go +++ b/apis/directoryroles/v1beta1/zz_roleassignment_types.go @@ -162,8 +162,8 @@ type RoleAssignmentStatus struct { // +kubebuilder:storageversion // RoleAssignment is the Schema for the RoleAssignments API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/groups/v1beta1/zz_group_types.go b/apis/groups/v1beta1/zz_group_types.go index 85441e32..5b5c60b1 100755 --- a/apis/groups/v1beta1/zz_group_types.go +++ b/apis/groups/v1beta1/zz_group_types.go @@ -424,8 +424,8 @@ type GroupStatus struct { // +kubebuilder:storageversion // Group is the Schema for the Groups API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/groups/v1beta1/zz_member_types.go b/apis/groups/v1beta1/zz_member_types.go index aa07086d..1e031410 100755 --- a/apis/groups/v1beta1/zz_member_types.go +++ b/apis/groups/v1beta1/zz_member_types.go @@ -114,8 +114,8 @@ type MemberStatus struct { // +kubebuilder:storageversion // Member is the Schema for the Members API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/invitations/v1beta1/zz_invitation_types.go b/apis/invitations/v1beta1/zz_invitation_types.go index 4494d444..25b65503 100755 --- a/apis/invitations/v1beta1/zz_invitation_types.go +++ b/apis/invitations/v1beta1/zz_invitation_types.go @@ -172,8 +172,8 @@ type InvitationStatus struct { // +kubebuilder:storageversion // Invitation is the Schema for the Invitations API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/policies/v1beta1/zz_claimsmappingpolicy_types.go b/apis/policies/v1beta1/zz_claimsmappingpolicy_types.go index fdf934a3..7af6ed72 100755 --- a/apis/policies/v1beta1/zz_claimsmappingpolicy_types.go +++ b/apis/policies/v1beta1/zz_claimsmappingpolicy_types.go @@ -79,8 +79,8 @@ type ClaimsMappingPolicyStatus struct { // +kubebuilder:storageversion // ClaimsMappingPolicy is the Schema for the ClaimsMappingPolicys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/serviceprincipaldelegated/v1beta1/zz_permissiongrant_types.go b/apis/serviceprincipaldelegated/v1beta1/zz_permissiongrant_types.go index 8c8d9eb7..d20dbd3e 100755 --- a/apis/serviceprincipaldelegated/v1beta1/zz_permissiongrant_types.go +++ b/apis/serviceprincipaldelegated/v1beta1/zz_permissiongrant_types.go @@ -164,8 +164,8 @@ type PermissionGrantStatus struct { // +kubebuilder:storageversion // PermissionGrant is the Schema for the PermissionGrants API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/serviceprincipals/v1beta1/zz_certificate_types.go b/apis/serviceprincipals/v1beta1/zz_certificate_types.go index 236cd2fd..e8020b36 100755 --- a/apis/serviceprincipals/v1beta1/zz_certificate_types.go +++ b/apis/serviceprincipals/v1beta1/zz_certificate_types.go @@ -166,8 +166,8 @@ type CertificateStatus struct { // +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/serviceprincipals/v1beta1/zz_claimsmappingpolicyassignment_types.go b/apis/serviceprincipals/v1beta1/zz_claimsmappingpolicyassignment_types.go index 00945f51..276f4e71 100755 --- a/apis/serviceprincipals/v1beta1/zz_claimsmappingpolicyassignment_types.go +++ b/apis/serviceprincipals/v1beta1/zz_claimsmappingpolicyassignment_types.go @@ -115,8 +115,8 @@ type ClaimsMappingPolicyAssignmentStatus struct { // +kubebuilder:storageversion // ClaimsMappingPolicyAssignment is the Schema for the ClaimsMappingPolicyAssignments API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/serviceprincipals/v1beta1/zz_generated.deepcopy.go b/apis/serviceprincipals/v1beta1/zz_generated.deepcopy.go index de1e63fc..e1219c98 100644 --- a/apis/serviceprincipals/v1beta1/zz_generated.deepcopy.go +++ b/apis/serviceprincipals/v1beta1/zz_generated.deepcopy.go @@ -1126,6 +1126,21 @@ func (in *PrincipalInitParameters) DeepCopyInto(out *PrincipalInitParameters) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ClientIDRef != nil { + in, out := &in.ClientIDRef, &out.ClientIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ClientIDSelector != nil { + in, out := &in.ClientIDSelector, &out.ClientIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -1299,6 +1314,11 @@ func (in *PrincipalObservation) DeepCopyInto(out *PrincipalObservation) { *out = new(string) **out = **in } + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -1507,6 +1527,21 @@ func (in *PrincipalParameters) DeepCopyInto(out *PrincipalParameters) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ClientIDRef != nil { + in, out := &in.ClientIDRef, &out.ClientIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ClientIDSelector != nil { + in, out := &in.ClientIDSelector, &out.ClientIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) diff --git a/apis/serviceprincipals/v1beta1/zz_generated.resolvers.go b/apis/serviceprincipals/v1beta1/zz_generated.resolvers.go index 9ebe4fbe..5e5941bb 100644 --- a/apis/serviceprincipals/v1beta1/zz_generated.resolvers.go +++ b/apis/serviceprincipals/v1beta1/zz_generated.resolvers.go @@ -196,6 +196,22 @@ func (mg *Principal) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.ForProvider.ApplicationID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ApplicationIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ClientID), + Extract: resource.ExtractParamPath("client_id", true), + Reference: mg.Spec.ForProvider.ClientIDRef, + Selector: mg.Spec.ForProvider.ClientIDSelector, + To: reference.To{ + List: &v1beta11.ApplicationList{}, + Managed: &v1beta11.Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ClientID") + } + mg.Spec.ForProvider.ClientID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ClientIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ApplicationID), Extract: resource.ExtractParamPath("application_id", true), @@ -212,6 +228,22 @@ func (mg *Principal) ResolveReferences(ctx context.Context, c client.Reader) err mg.Spec.InitProvider.ApplicationID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.ApplicationIDRef = rsp.ResolvedReference + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ClientID), + Extract: resource.ExtractParamPath("client_id", true), + Reference: mg.Spec.InitProvider.ClientIDRef, + Selector: mg.Spec.InitProvider.ClientIDSelector, + To: reference.To{ + List: &v1beta11.ApplicationList{}, + Managed: &v1beta11.Application{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ClientID") + } + mg.Spec.InitProvider.ClientID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ClientIDRef = rsp.ResolvedReference + return nil } diff --git a/apis/serviceprincipals/v1beta1/zz_password_types.go b/apis/serviceprincipals/v1beta1/zz_password_types.go index 229f408f..7ca0d851 100755 --- a/apis/serviceprincipals/v1beta1/zz_password_types.go +++ b/apis/serviceprincipals/v1beta1/zz_password_types.go @@ -155,8 +155,8 @@ type PasswordStatus struct { // +kubebuilder:storageversion // Password is the Schema for the Passwords API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/serviceprincipals/v1beta1/zz_principal_types.go b/apis/serviceprincipals/v1beta1/zz_principal_types.go index f02837bc..15778f22 100755 --- a/apis/serviceprincipals/v1beta1/zz_principal_types.go +++ b/apis/serviceprincipals/v1beta1/zz_principal_types.go @@ -149,7 +149,7 @@ type PrincipalInitParameters struct { // Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application AppRoleAssignmentRequired *bool `json:"appRoleAssignmentRequired,omitempty" tf:"app_role_assignment_required,omitempty"` - // The application ID (client ID) of the application for which to create a service principal. + // The unique identifier of the app_role. // The application ID (client ID) of the application for which to create a service principal // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("application_id",true) @@ -163,6 +163,20 @@ type PrincipalInitParameters struct { // +kubebuilder:validation:Optional ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"` + // The client ID of the application for which to create a service principal. + // The client ID of the application for which to create a service principal + // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("client_id",true) + ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"` + + // Reference to a Application in applications to populate clientId. + // +kubebuilder:validation:Optional + ClientIDRef *v1.Reference `json:"clientIdRef,omitempty" tf:"-"` + + // Selector for a Application in applications to populate clientId. + // +kubebuilder:validation:Optional + ClientIDSelector *v1.Selector `json:"clientIdSelector,omitempty" tf:"-"` + // A description of the service principal provided for internal end-users. // Description of the service principal provided for internal end-users Description *string `json:"description,omitempty" tf:"description,omitempty"` @@ -230,7 +244,7 @@ type PrincipalObservation struct { // A list of app roles published by the associated application, as documented below. For more information official documentation. AppRoles []AppRolesObservation `json:"appRoles,omitempty" tf:"app_roles,omitempty"` - // The application ID (client ID) of the application for which to create a service principal. + // The unique identifier of the app_role. // The application ID (client ID) of the application for which to create a service principal ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"` @@ -238,6 +252,10 @@ type PrincipalObservation struct { // The tenant ID where the associated application is registered ApplicationTenantID *string `json:"applicationTenantId,omitempty" tf:"application_tenant_id,omitempty"` + // The client ID of the application for which to create a service principal. + // The client ID of the application for which to create a service principal + ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"` + // A description of the service principal provided for internal end-users. // Description of the service principal provided for internal end-users Description *string `json:"description,omitempty" tf:"description,omitempty"` @@ -347,7 +365,7 @@ type PrincipalParameters struct { // +kubebuilder:validation:Optional AppRoleAssignmentRequired *bool `json:"appRoleAssignmentRequired,omitempty" tf:"app_role_assignment_required,omitempty"` - // The application ID (client ID) of the application for which to create a service principal. + // The unique identifier of the app_role. // The application ID (client ID) of the application for which to create a service principal // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("application_id",true) @@ -362,6 +380,21 @@ type PrincipalParameters struct { // +kubebuilder:validation:Optional ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"` + // The client ID of the application for which to create a service principal. + // The client ID of the application for which to create a service principal + // +crossplane:generate:reference:type=github.com/upbound/provider-azuread/apis/applications/v1beta1.Application + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("client_id",true) + // +kubebuilder:validation:Optional + ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"` + + // Reference to a Application in applications to populate clientId. + // +kubebuilder:validation:Optional + ClientIDRef *v1.Reference `json:"clientIdRef,omitempty" tf:"-"` + + // Selector for a Application in applications to populate clientId. + // +kubebuilder:validation:Optional + ClientIDSelector *v1.Selector `json:"clientIdSelector,omitempty" tf:"-"` + // A description of the service principal provided for internal end-users. // Description of the service principal provided for internal end-users // +kubebuilder:validation:Optional @@ -466,8 +499,8 @@ type PrincipalStatus struct { // +kubebuilder:storageversion // Principal is the Schema for the Principals API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/serviceprincipals/v1beta1/zz_tokensigningcertificate_types.go b/apis/serviceprincipals/v1beta1/zz_tokensigningcertificate_types.go index c5e6bf21..d7180f6f 100755 --- a/apis/serviceprincipals/v1beta1/zz_tokensigningcertificate_types.go +++ b/apis/serviceprincipals/v1beta1/zz_tokensigningcertificate_types.go @@ -124,8 +124,8 @@ type TokenSigningCertificateStatus struct { // +kubebuilder:storageversion // TokenSigningCertificate is the Schema for the TokenSigningCertificates API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/synchronization/v1beta1/zz_job_types.go b/apis/synchronization/v1beta1/zz_job_types.go index e74df8d4..9ee69089 100755 --- a/apis/synchronization/v1beta1/zz_job_types.go +++ b/apis/synchronization/v1beta1/zz_job_types.go @@ -131,8 +131,8 @@ type JobStatus struct { // +kubebuilder:storageversion // Job is the Schema for the Jobs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/synchronization/v1beta1/zz_secret_types.go b/apis/synchronization/v1beta1/zz_secret_types.go index f1af4218..05c1d9c1 100755 --- a/apis/synchronization/v1beta1/zz_secret_types.go +++ b/apis/synchronization/v1beta1/zz_secret_types.go @@ -121,8 +121,8 @@ type SecretStatus struct { // +kubebuilder:storageversion // Secret is the Schema for the Secrets API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/apis/users/v1beta1/zz_user_types.go b/apis/users/v1beta1/zz_user_types.go index 5d3ef12b..86b6609c 100755 --- a/apis/users/v1beta1/zz_user_types.go +++ b/apis/users/v1beta1/zz_user_types.go @@ -553,8 +553,8 @@ type UserStatus struct { // +kubebuilder:storageversion // User is the Schema for the Users API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azuread} diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index c4d77fe8..cf2528e1 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -5,10 +5,10 @@ resources: name: azuread_access_package_assignment_policy title: "" examples: - - name: test + - name: example manifest: |- { - "access_package_id": "${azuread_access_package.test.id}", + "access_package_id": "${azuread_access_package.example.id}", "approval_settings": [ { "approval_required": true, @@ -17,7 +17,7 @@ resources: "approval_timeout_in_days": 14, "primary_approver": [ { - "object_id": "${azuread_group.test.object_id}", + "object_id": "${azuread_group.example.object_id}", "subject_type": "groupMembers" } ] @@ -53,8 +53,8 @@ resources: ] } references: - access_package_id: azuread_access_package.test.id - approval_settings.approval_stage.primary_approver.object_id: azuread_group.test.object_id + access_package_id: azuread_access_package.example.id + approval_settings.approval_stage.primary_approver.object_id: azuread_group.example.object_id dependencies: azuread_access_package.example: |- { @@ -175,7 +175,7 @@ resources: principal_object_id: '- (Required) The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.' role_id: '- (Required) The object ID of the catalog role you want to assign. Changing this forces a new resource to be created.' importStatements: - - terraform import azuread_access_package_catalog_role_assignment.test 00000000-0000-0000-0000-000000000000 + - terraform import azuread_access_package_catalog_role_assignment.example 00000000-0000-0000-0000-000000000000 azuread_access_package_resource_catalog_association: subCategory: Identity Governance name: azuread_access_package_resource_catalog_association @@ -294,7 +294,7 @@ resources: administrative_unit_object_id: '- (Required) The object ID of the administrative unit you want to add the member to. Changing this forces a new resource to be created.' member_object_id: '- (Required) The object ID of the user or group you want to add as a member of the administrative unit. Changing this forces a new resource to be created.' importStatements: - - terraform import azuread_administrative_unit_member.test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111 + - terraform import azuread_administrative_unit_member.example 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111 azuread_administrative_unit_role_member: subCategory: Administrative Units name: azuread_administrative_unit_role_member @@ -325,7 +325,7 @@ resources: member_object_id: '- (Required) The object ID of the user, group or service principal you want to add as a member of the administrative unit. Changing this forces a new resource to be created.' role_object_id: '- (Required) The object ID of the directory role you want to assign. Changing this forces a new resource to be created.' importStatements: - - terraform import azuread_administrative_unit_role_member.test 00000000-0000-0000-0000-000000000000/roleMember/zX37MRLyF0uvE-xf2WH4B7x-6CPLfudNnxFGj800htpBXqkxW7bITqGb6Rj4kuTuS + - terraform import azuread_administrative_unit_role_member.example 00000000-0000-0000-0000-000000000000/roleMember/zX37MRLyF0uvE-xf2WH4B7x-6CPLfudNnxFGj800htpBXqkxW7bITqGb6Rj4kuTuS azuread_app_role_assignment: subCategory: App Role Assignments name: azuread_app_role_assignment @@ -722,7 +722,7 @@ resources: app_role.id: '- (Required) The unique identifier of the app role. Must be a valid UUID.' app_role.value: '- (Optional) The value that is used for the roles claim in ID tokens and OAuth 2.0 access tokens that are authenticating an assigned service or user principal.' app_role_ids: '- A mapping of app role values to app role IDs, intended to be useful when referencing app roles in other resources in your configuration.' - application_id: '- The Application ID (also called Client ID).' + client_id: '- The Client ID for the application.' description: '- (Optional) A description of the application, as shown to end users.' device_only_auth_enabled: '- (Optional) Specifies whether this application supports device authentication without a user. Defaults to false.' disabled_by_microsoft: '- Whether Microsoft has disabled the registered application. If the application is disabled, this will be a string indicating the status/reason, e.g. DisabledDueToViolationOfServicesAgreement' @@ -734,6 +734,7 @@ resources: feature_tags.gallery: '- (Optional) Whether this application represents a gallery application for linked service principals. Enabling this will assign the WindowsAzureActiveDirectoryGalleryApplicationNonPrimaryV1 tag. Defaults to false.' feature_tags.hide: '- (Optional) Whether this app is invisible to users in My Apps and Office 365 Launcher. Enabling this will assign the HideApp tag. Defaults to false.' group_membership_claims: '- (Optional) Configures the groups claim issued in a user or OAuth 2.0 access token that the app expects. Possible values are None, SecurityGroup, DirectoryRole, ApplicationGroup or All.' + id: '- The Terraform resource ID for the application, for use when referencing this resource in your Terraform configuration.' identifier_uris: '- (Optional) A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.' logo_image: '- (Optional) A logo image to upload for the application, as a raw base64-encoded string. The image should be in gif, jpeg or png format. Note that once an image has been uploaded, it is not possible to remove it without replacing it with another image.' logo_url: '- CDN URL to the application''s logo, as uploaded with the logo_image property.' @@ -744,7 +745,7 @@ resources: object_id: '- The application''s object ID.' optional_claims: '- (Optional) An optional_claims block as documented below.' optional_claims.access_token: '- (Optional) One or more access_token blocks as documented below.' - optional_claims.access_token.additional_properties: '- List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim.' + optional_claims.access_token.additional_properties: '- List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid.' optional_claims.access_token.essential: '- Whether the claim specified by the client is necessary to ensure a smooth authorization experience.' optional_claims.access_token.name: '- The name of the optional claim.' optional_claims.access_token.source: '- The source of the claim. If source is absent, the claim is a predefined optional claim. If source is user, the value of name is the extension property from the user object.' @@ -777,7 +778,113 @@ resources: web.logout_url: '- (Optional) The URL that will be used by Microsoft''s authorization service to sign out a user using front-channel, back-channel or SAML logout protocols.' web.redirect_uris: '- (Optional) A set of URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent. Must be a valid http URL or a URN.' importStatements: - - terraform import azuread_application.test 00000000-0000-0000-0000-000000000000 + - terraform import azuread_application.example /applications/00000000-0000-0000-0000-000000000000 + azuread_application_api_access: + subCategory: Applications + name: azuread_application_api_access + title: "" + examples: + - name: example_msgraph + manifest: |- + { + "api_client_id": "${data.azuread_application_published_app_ids.well_known.result[\"MicrosoftGraph\"]}", + "application_id": "${azuread_application_registration.example.id}", + "role_ids": [ + "${data.azuread_service_principal.msgraph.app_role_ids[\"Group.Read.All\"]}", + "${data.azuread_service_principal.msgraph.app_role_ids[\"User.Read.All\"]}" + ], + "scope_ids": [ + "${data.azuread_service_principal.msgraph.oauth2_permission_scope_ids[\"User.ReadWrite\"]}" + ] + } + references: + api_client_id: data.azuread_application_published_app_ids.well_known.result["MicrosoftGraph"] + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + - name: example + manifest: |- + { + "application_id": "${azuread_application.example.id}" + } + references: + application_id: azuread_application.example.id + dependencies: + azuread_application.example: |- + { + "display_name": "example", + "lifecycle": [ + { + "ignore_changes": [ + "${required_resource_access}" + ] + } + ] + } + argumentDocs: + api_client_id: '- (Required) The client ID of the API to which access is being granted. Changing this forces a new resource to be created.' + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + role_ids: '- (Optional) A set of role IDs to be granted to the application, as published by the API.' + scope_ids: '- (Optional) A set of scope IDs to be granted to the application, as published by the API.' + importStatements: + - terraform import azuread_application_api_access.example /applications/00000000-0000-0000-0000-000000000000/apiAccess/11111111-1111-1111-1111-111111111111 + azuread_application_app_role: + subCategory: Applications + name: azuread_application_app_role + title: "" + examples: + - name: example_administer + manifest: |- + { + "allowed_member_types": [ + "User" + ], + "application_id": "${azuread_application_registration.example.id}", + "description": "My role description", + "display_name": "Administer", + "role_id": "${random_uuid.example_administrator.id}", + "value": "admin" + } + references: + application_id: azuread_application_registration.example.id + role_id: random_uuid.example_administrator.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + random_uuid.example_administrator: '{}' + - name: example_administer + manifest: |- + { + "application_id": "${azuread_application.example.id}" + } + references: + application_id: azuread_application.example.id + dependencies: + azuread_application.example: |- + { + "display_name": "example", + "lifecycle": [ + { + "ignore_changes": [ + "${app_role}" + ] + } + ] + } + argumentDocs: + allowed_member_types: '- (Required) A set of values to specify whether this app role definition can be assigned to users and groups by setting to User, or to other applications by setting to Application, or to both.' + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + description: '- (Required) Description of the app role that appears when the role is being assigned, and if the role functions as an application permissions, during the consent experiences.' + display_name: '- (Required) Display name for the app role that appears during app role assignment and in consent experiences.' + role_id: '- (Required) The unique identifier of the app role. Must be a valid UUID. Changing this forces a new resource to be created.' + value: '- (Optional) The value that is used for the roles claim in ID tokens and OAuth 2.0 access tokens that are authenticating an assigned service or user principal.' + importStatements: + - terraform import azuread_application_app_role.example /applications/00000000-0000-0000-0000-000000000000/appRoles/11111111-1111-1111-1111-111111111111 azuread_application_certificate: subCategory: Applications name: azuread_application_certificate @@ -786,38 +893,38 @@ resources: - name: example manifest: |- { - "application_object_id": "${azuread_application.example.id}", + "application_id": "${azuread_application_registration.example.id}", "end_date": "2021-05-01T01:02:03Z", "type": "AsymmetricX509Cert", "value": "${file(\"cert.pem\")}" } references: - application_object_id: azuread_application.example.id + application_id: azuread_application_registration.example.id dependencies: - azuread_application.example: |- + azuread_application_registration.example: |- { "display_name": "example" } - name: example manifest: |- { - "application_object_id": "${azuread_application.example.id}", + "application_id": "${azuread_application_registration.example.id}", "encoding": "base64", "end_date": "2021-05-01T01:02:03Z", "type": "AsymmetricX509Cert", "value": "${base64encode(file(\"cert.der\"))}" } references: - application_object_id: azuread_application.example.id + application_id: azuread_application_registration.example.id dependencies: - azuread_application.example: |- + azuread_application_registration.example: |- { "display_name": "example" } - name: example manifest: |- { - "application_object_id": "${azuread_application.example.id}", + "application_id": "${azuread_application.example.id}", "encoding": "hex", "end_date": "${azurerm_key_vault_certificate.example.certificate_attribute[0].expires}", "start_date": "${azurerm_key_vault_certificate.example.certificate_attribute[0].not_before}", @@ -825,7 +932,7 @@ resources: "value": "${azurerm_key_vault_certificate.example.certificate_data}" } references: - application_object_id: azuread_application.example.id + application_id: azuread_application.example.id end_date: azurerm_key_vault_certificate.example.certificate_attribute[0].expires start_date: azurerm_key_vault_certificate.example.certificate_attribute[0].not_before value: azurerm_key_vault_certificate.example.certificate_data @@ -899,7 +1006,7 @@ resources: "name": "generated-cert" } argumentDocs: - application_object_id: '- (Required) The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created.' + application_id: '- (Required) The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created.' encoding: '- (Optional) Specifies the encoding used for the supplied certificate data. Must be one of pem, base64 or hex. Defaults to pem.' end_date: '- (Optional) The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. 2018-01-01T01:02:03Z). If omitted, the API will decide a suitable expiry date, which is typically around 2 years from the start date. Changing this field forces a new resource to be created.' end_date_relative: '- (Optional) A relative duration for which the certificate is valid until, for example 240h (10 days) or 2400h30m. Changing this field forces a new resource to be created.' @@ -908,7 +1015,30 @@ resources: type: '- (Required) The type of key/certificate. Must be one of AsymmetricX509Cert or Symmetric. Changing this fields forces a new resource to be created.' value: '- (Required) The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the encoding argument.' importStatements: - - terraform import azuread_application_certificate.test 00000000-0000-0000-0000-000000000000/certificate/11111111-1111-1111-1111-111111111111 + - terraform import azuread_application_certificate.example 00000000-0000-0000-0000-000000000000/certificate/11111111-1111-1111-1111-111111111111 + azuread_application_fallback_public_client: + subCategory: Applications + name: azuread_application_fallback_public_client + title: "" + examples: + - name: example + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "enabled": true + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + argumentDocs: + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + enabled: '- (Required) Whether to enable the application as a fallback public client.' + importStatements: + - terraform import azuread_application_fallback_public_client.example /applications/00000000-0000-0000-0000-000000000000/fallbackPublicClient azuread_application_federated_identity_credential: subCategory: Applications name: azuread_application_federated_identity_credential @@ -917,7 +1047,7 @@ resources: - name: example manifest: |- { - "application_object_id": "${azuread_application.example.object_id}", + "application_id": "${azuread_application_registration.example.id}", "audiences": [ "api://AzureADTokenExchange" ], @@ -927,14 +1057,14 @@ resources: "subject": "repo:my-organization/my-repo:environment:prod" } references: - application_object_id: azuread_application.example.object_id + application_id: azuread_application_registration.example.id dependencies: - azuread_application.example: |- + azuread_application_registration.example: |- { "display_name": "example" } argumentDocs: - application_object_id: '- (Required) The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created.' + application_id: '- (Required) The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created.' audiences: '- (Required) List of audiences that can appear in the external token. This specifies what should be accepted in the aud claim of incoming tokens.' credential_id: '- A UUID used to uniquely identify this federated identity credential.' description: '- (Optional) A description for the federated identity credential.' @@ -942,7 +1072,181 @@ resources: issuer: '- (Required) The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app.' subject: '- (Required) The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app.' importStatements: - - terraform import azuread_application_federated_identity_credential.test 00000000-0000-0000-0000-000000000000/federatedIdentityCredential/11111111-1111-1111-1111-111111111111 + - terraform import azuread_application_federated_identity_credential.example 00000000-0000-0000-0000-000000000000/federatedIdentityCredential/11111111-1111-1111-1111-111111111111 + azuread_application_from_template: + subCategory: Applications + name: azuread_application_from_template + title: "" + examples: + - name: example + manifest: |- + { + "display_name": "Example Application", + "template_id": "${data.azuread_application_template.example.template_id}" + } + references: + template_id: data.azuread_application_template.example.template_id + argumentDocs: + application_id: '- The resource ID for the application.' + application_object_id: '- The object ID for the application.' + display_name: '- (Required) The display name for the application.' + service_principal_id: '- The resource ID for the service principal.' + service_principal_object_id: '- The object ID for the service principal.' + template_id: '- (Required) Unique ID for a templated application in the Azure AD App Gallery, from which to create the application. Changing this forces a new resource to be created.' + importStatements: + - terraform import azuread_application_from_template.example /applicationTemplates/00000000-0000-0000-0000-000000000000/instantiate/11111111-1111-1111-1111-111111111111/22222222-2222-2222-2222-222222222222 + azuread_application_identifier_uri: + subCategory: Applications + name: azuread_application_identifier_uri + title: "" + examples: + - name: example + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "identifier_uri": "https://app.hashitown.com" + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + - name: example + manifest: |- + { + "application_id": "${azuread_application.example.id}" + } + references: + application_id: azuread_application.example.id + dependencies: + azuread_application.example: |- + { + "display_name": "example", + "lifecycle": [ + { + "ignore_changes": [ + "${identifier_uris}" + ] + } + ] + } + argumentDocs: + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + identifier_uri: '- (Required) The user-defined URI that uniquely identifies an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. Changing this forces a new resource to be created.' + importStatements: + - terraform import azuread_application_identifier_uri.example /applications/00000000-0000-0000-0000-000000000000/identifierUris/aHR0cHM6Ly9leGFtcGxlLm5ldC8= + azuread_application_known_clients: + subCategory: Applications + name: azuread_application_known_clients + title: "" + examples: + - name: example + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "known_client_ids": [ + "${azuread_application_registration.client.client_id}" + ] + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.client: |- + { + "display_name": "example client" + } + azuread_application_registration.example: |- + { + "display_name": "example" + } + argumentDocs: + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + known_client_ids: '- (Required) A set of client IDs for the known applications.' + importStatements: + - terraform import azuread_application_known_clients.example /applications/00000000-0000-0000-0000-000000000000/knownClients + azuread_application_optional_claims: + subCategory: Applications + name: azuread_application_optional_claims + title: "" + examples: + - name: example + manifest: |- + { + "access_token": [ + { + "name": "myclaim" + }, + { + "name": "otherclaim" + } + ], + "application_id": "${azuread_application_registration.example.id}", + "id_token": [ + { + "additional_properties": [ + "emit_as_roles" + ], + "essential": true, + "name": "userclaim", + "source": "user" + } + ], + "saml2_token": [ + { + "name": "samlexample" + } + ] + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + argumentDocs: + access_token: '- (Optional) One or more access_token blocks as documented below.' + access_token.additional_properties: '- List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid.' + access_token.essential: '- Whether the claim specified by the client is necessary to ensure a smooth authorization experience.' + access_token.name: '- The name of the optional claim.' + access_token.source: '- The source of the claim. If source is absent, the claim is a predefined optional claim. If source is user, the value of name is the extension property from the user object.' + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + id_token: '- (Optional) One or more id_token blocks as documented below.' + saml2_token: '- (Optional) One or more saml2_token blocks as documented below.' + importStatements: + - terraform import azuread_application_optional_claims.example /applications/00000000-0000-0000-0000-000000000000 + azuread_application_owner: + subCategory: Applications + name: azuread_application_owner + title: "" + examples: + - name: example_jane + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "owner_object_id": "${azuread_user.jane.object_id}" + } + references: + application_id: azuread_application_registration.example.id + owner_object_id: azuread_user.jane.object_id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + azuread_user.jane: |- + { + "display_name": "Jane Fischer", + "password": "Ch@ngeMe", + "user_principal_name": "jane.fischer@hashitown.com" + } + argumentDocs: + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + owner_object_id: '- (Required) The object ID of the owner to assign to the application, typically a user or service principal. Changing this forces a new resource to be created.' + importStatements: + - terraform import azuread_application_owner.example /applications/00000000-0000-0000-0000-000000000000/owners/11111111-1111-1111-1111-111111111111 azuread_application_password: subCategory: Applications name: azuread_application_password @@ -951,27 +1255,27 @@ resources: - name: example manifest: |- { - "application_object_id": "${azuread_application.example.object_id}" + "application_id": "${azuread_application_registration.example.id}" } references: - application_object_id: azuread_application.example.object_id + application_id: azuread_application_registration.example.id dependencies: - azuread_application.example: |- + azuread_application_registration.example: |- { "display_name": "example" } - name: example manifest: |- { - "application_object_id": "${azuread_application.example.object_id}", + "application_id": "${azuread_application_registration.example.id}", "rotate_when_changed": { "rotation": "${time_rotating.example.id}" } } references: - application_object_id: azuread_application.example.object_id + application_id: azuread_application_registration.example.id dependencies: - azuread_application.example: |- + azuread_application_registration.example: |- { "display_name": "example" } @@ -980,7 +1284,7 @@ resources: "rotation_days": 7 } argumentDocs: - application_object_id: '- (Required) The object ID of the application for which this password should be created. Changing this field forces a new resource to be created.' + application_id: '- (Required) The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created.' display_name: '- (Optional) A display name for the password. Changing this field forces a new resource to be created.' end_date: '- (Optional) The end date until which the password is valid, formatted as an RFC3339 date string (e.g. 2018-01-01T01:02:03Z). Changing this field forces a new resource to be created.' end_date_relative: '- (Optional) A relative duration for which the password is valid until, for example 240h (10 days) or 2400h30m. Changing this field forces a new resource to be created.' @@ -989,6 +1293,59 @@ resources: start_date: '- (Optional) The start date from which the password is valid, formatted as an RFC3339 date string (e.g. 2018-01-01T01:02:03Z). If this isn''t specified, the current date is used. Changing this field forces a new resource to be created.' value: '- The password for this application, which is generated by Azure Active Directory.' importStatements: [] + azuread_application_permission_scope: + subCategory: Applications + name: azuread_application_permission_scope + title: "" + examples: + - name: example + manifest: |- + { + "admin_consent_description": "Administer the application", + "admin_consent_display_name": "Administer", + "application_id": "${azuread_application_registration.test.id}", + "scope_id": "${random_uuid.example_administer.id}", + "value": "administer" + } + references: + application_id: azuread_application_registration.test.id + scope_id: random_uuid.example_administer.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + random_uuid.example_administer: '{}' + - name: example + manifest: |- + { + "application_id": "${azuread_application.example.id}" + } + references: + application_id: azuread_application.example.id + dependencies: + azuread_application.example: |- + { + "display_name": "example", + "lifecycle": [ + { + "ignore_changes": [ + "${api[0].oauth2_permission_scope}" + ] + } + ] + } + argumentDocs: + admin_consent_description: '- (Required) Delegated permission description that appears in all tenant-wide admin consent experiences, intended to be read by an administrator granting the permission on behalf of all users.' + admin_consent_display_name: '- (Required) Display name for the delegated permission, intended to be read by an administrator granting the permission on behalf of all users.' + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + scope_id: '- (Required) The unique identifier of the permission scope. Must be a valid UUID. Changing this forces a new resource to be created.' + type: '- (Required) Whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions.' + user_consent_description: '- (Required) Delegated permission description that appears in the end user consent experience, intended to be read by a user consenting on their own behalf.' + user_consent_display_name: '- (Required) Display name for the delegated permission that appears in the end user consent experience.' + value: '- (Optional) The value that is used for the scp claim in OAuth access tokens.' + importStatements: + - terraform import azuread_application_permission_scope.example /applications/00000000-0000-0000-0000-000000000000/permissionScopes/11111111-1111-1111-1111-111111111111 azuread_application_pre_authorized: subCategory: Applications name: azuread_application_pre_authorized @@ -997,21 +1354,17 @@ resources: - name: example manifest: |- { - "application_object_id": "${azuread_application.authorizer.object_id}", - "authorized_app_id": "${azuread_application.authorized.application_id}", + "application_id": "${azuread_application.authorizer.id}", + "authorized_client_id": "${azuread_application_registration.authorized.client_id}", "permission_ids": [ - "ced9c4c3-c273-4f0f-ac71-a20377b90f9c", - "2d5e07ca-664d-4d9b-ad61-ec07fd215213" + "00000000-0000-0000-0000-000000000000", + "11111111-1111-1111-1111-111111111111" ] } references: - application_object_id: azuread_application.authorizer.object_id - authorized_app_id: azuread_application.authorized.application_id + application_id: azuread_application.authorizer.id + authorized_client_id: azuread_application_registration.authorized.client_id dependencies: - azuread_application.authorized: |- - { - "display_name": "example-authorized-app" - } azuread_application.authorizer: |- { "api": [ @@ -1021,7 +1374,7 @@ resources: "admin_consent_description": "Administer the application", "admin_consent_display_name": "Administer", "enabled": true, - "id": "ced9c4c3-c273-4f0f-ac71-a20377b90f9c", + "id": "00000000-0000-0000-0000-000000000000", "type": "Admin", "value": "administer" }, @@ -1029,7 +1382,7 @@ resources: "admin_consent_description": "Access the application", "admin_consent_display_name": "Access", "enabled": true, - "id": "2d5e07ca-664d-4d9b-ad61-ec07fd215213", + "id": "11111111-1111-1111-1111-111111111111", "type": "User", "user_consent_description": "Access the application", "user_consent_display_name": "Access", @@ -1040,12 +1393,175 @@ resources: ], "display_name": "example-authorizing-app" } + azuread_application_registration.authorized: |- + { + "display_name": "example-authorized-app" + } argumentDocs: - application_object_id: '- (Required) The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created.' - authorized_application_id: '- (Optional) The application ID (client ID) of the application being authorized. Changing this field forces a new resource to be created.' + application_id: '- (Required) The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created.' + authorized_client_id: '- (Required) The client ID of the application being authorized. Changing this field forces a new resource to be created.' permission_ids: '- (Required) A set of permission scope IDs required by the authorized application.' importStatements: - terraform import azuread_application_pre_authorized.example 00000000-0000-0000-0000-000000000000/preAuthorizedApplication/11111111-1111-1111-1111-111111111111 + azuread_application_redirect_uris: + subCategory: Applications + name: azuread_application_redirect_uris + title: "" + examples: + - name: example_public + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "redirect_uris": [ + "myapp://auth", + "sample.mobile.app.bundie.id://auth", + "https://login.microsoftonline.com/common/oauth2/nativeclient", + "https://login.live.com/oauth20_desktop.srf", + "ms-appx-web://Microsoft.AAD.BrokerPlugin/00000000-1111-1111-1111-222222222222", + "urn:ietf:wg:oauth:2.0:foo" + ], + "type": "PublicClient" + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + - name: example_spa + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "redirect_uris": [ + "https://mobile.hashitown.com/", + "https://beta.hashitown.com/" + ], + "type": "SPA" + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + - name: example_web + manifest: |- + { + "application_id": "${azuread_application_registration.example.id}", + "redirect_uris": [ + "https://app.hashitown.com/", + "https://classic.hashitown.com/", + "urn:ietf:wg:oauth:2.0:oob" + ], + "type": "Web" + } + references: + application_id: azuread_application_registration.example.id + dependencies: + azuread_application_registration.example: |- + { + "display_name": "example" + } + argumentDocs: + application_id: '- (Required) The resource ID of the application registration. Changing this forces a new resource to be created.' + redirect_uris: '- (Required) A set of redirect URIs to assign to the application.' + type: '- (Required) The type of redirect URIs to manage. Must be one of: PublicClient, SPA, or Web. Changing this forces a new resource to be created.' + importStatements: + - terraform import azuread_application_redirect_uris.example /applications/00000000-0000-0000-0000-000000000000/redirectUris/Web + azuread_application_registration: + subCategory: Applications + name: azuread_application_registration + title: "" + examples: + - name: example + manifest: |- + { + "description": "My example application", + "display_name": "Example Application", + "homepage_url": "https://app.hashitown.com/", + "logout_url": "https://app.hashitown.com/logout", + "marketing_url": "https://hashitown.com/", + "privacy_statement_url": "https://hashitown.com/privacy", + "sign_in_audience": "AzureADMyOrg", + "support_url": "https://support.hashitown.com/", + "terms_of_service_url": "https://hashitown.com/terms" + } + argumentDocs: + client_id: '- The Client ID for the application, which is globally unique.' + description: '- (Optional) A description of the application, as shown to end users.' + disabled_by_microsoft: '- Whether Microsoft has disabled the registered application. If the application is disabled, this will be a string indicating the status/reason, e.g. DisabledDueToViolationOfServicesAgreement' + display_name: '- (Required) The display name for the application.' + group_membership_claims: '- (Optional) Configures the groups claim issued in a user or OAuth access token that the app expects. Possible values are None, SecurityGroup, DirectoryRole, ApplicationGroup or All.' + homepage_url: '- (Optional) Home page or landing page of the application.' + id: '- The Terraform resource ID for the application, for use when referencing this resource in your Terraform configuration.' + implicit_access_token_issuance_enabled: '- (Optional) Whether this web application can request an access token using OAuth implicit flow.' + implicit_id_token_issuance_enabled: '- (Optional) Whether this web application can request an ID token using OAuth implicit flow.' + logout_url: '- (Optional) The URL that will be used by Microsoft''s authorization service to sign out a user using front-channel, back-channel or SAML logout protocols.' + marketing_url: '- (Optional) URL of the marketing page for the application.' + notes: '- (Optional) User-specified notes relevant for the management of the application.' + object_id: '- The object ID of the application within the tenant.' + privacy_statement_url: '- (Optional) URL of the privacy statement for the application.' + publisher_domain: '- The verified publisher domain for the application.' + requested_access_token_version: '- (Optional) The access token version expected by this resource. Must be one of 1 or 2, and must be 2 when sign_in_audience is either AzureADandPersonalMicrosoftAccount or PersonalMicrosoftAccount Defaults to 2.' + service_management_reference: '- (Optional) References application context information from a Service or Asset Management database.' + sign_in_audience: '- (Optional) The Microsoft account types that are supported for the current application. Must be one of AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount or PersonalMicrosoftAccount. Defaults to AzureADMyOrg.' + support_url: '- (Optional) URL of the support page for the application.' + terms_of_service_url: '- (Optional) URL of the terms of service statement for the application.' + importStatements: + - terraform import azuread_application_registration.example /applications/00000000-0000-0000-0000-000000000000 + azuread_authentication_strength_policy: + subCategory: Policies + name: azuread_authentication_strength_policy + title: "" + examples: + - name: example + manifest: |- + { + "allowed_combinations": [ + "fido2", + "password" + ], + "description": "Policy for demo purposes", + "display_name": "Example Authentication Strength Policy" + } + - name: example2 + manifest: |- + { + "allowed_combinations": [ + "fido2", + "password", + "deviceBasedPush", + "temporaryAccessPassOneTime", + "federatedMultiFactor", + "federatedSingleFactor", + "hardwareOath,federatedSingleFactor", + "microsoftAuthenticatorPush,federatedSingleFactor", + "password,hardwareOath", + "password,microsoftAuthenticatorPush", + "password,sms", + "password,softwareOath", + "password,voice", + "sms", + "sms,federatedSingleFactor", + "softwareOath,federatedSingleFactor", + "temporaryAccessPassMultiUse", + "voice,federatedSingleFactor", + "windowsHelloForBusiness", + "x509CertificateMultiFactor", + "x509CertificateSingleFactor" + ], + "description": "Policy for demo purposes with all possible combinations", + "display_name": "Example Authentication Strength Policy" + } + argumentDocs: + allowed_combinations: '- (Required) List of allowed authentication methods for this authentication strength policy.' + description: '- (Optional) The description for this authentication strength policy.' + display_name: '- (Required) The friendly name for this authentication strength policy.' + id: '- The ID of the authentication strength policy.' + importStatements: + - terraform import azuread_authentication_strength_policy.my_policy 00000000-0000-0000-0000-000000000000 azuread_claims_mapping_policy: subCategory: Policies name: azuread_claims_mapping_policy @@ -1259,32 +1775,41 @@ resources: conditions.sign_in_risk_levels: '- (Optional) A list of user sign-in risk levels included in the policy. Possible values are: low, medium, high, hidden, none, unknownFutureValue.' conditions.user_risk_levels: '- (Optional) A list of user risk levels included in the policy. Possible values are: low, medium, high, hidden, none, unknownFutureValue.' conditions.users: '- (Required) A users block as documented below, which specifies users, groups, and roles included in and excluded from the policy.' - devices.filter: '- (Optional) A filter block as described below. A filter block can be added to an existing policy, but removing the filter block forces a new resource to be created.' + devices.filter: '- (Optional) A filter block as described below.' devices.filter.mode: '- (Required) Whether to include in, or exclude from, matching devices from the policy. Supported values are include or exclude.' devices.filter.rule: '- (Required) Condition filter to match devices. For more information, see official documentation.' display_name: '- (Required) The friendly name for this Conditional Access Policy.' grant_controls: '- (Optional) A grant_controls block as documented below, which specifies the grant controls that must be fulfilled to pass the policy.' - grant_controls.built_in_controls: '- (Required) List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, compliantApplication, compliantDevice, domainJoinedDevice, passwordChange or unknownFutureValue.' + grant_controls.authentication_strength_policy_id: '- (Optional) ID of an Authentication Strength Policy to use in this policy.' + grant_controls.built_in_controls: '- (Optional) List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, compliantApplication, compliantDevice, domainJoinedDevice, passwordChange or unknownFutureValue.' grant_controls.custom_authentication_factors: '- (Optional) List of custom controls IDs required by the policy.' grant_controls.operator: '- (Required) Defines the relationship of the grant controls. Possible values are: AND, OR.' grant_controls.state: '- (Required) Specifies the state of the policy object. Possible values are: enabled, disabled and enabledForReportingButNotEnforced' grant_controls.terms_of_use: '- (Optional) List of terms of use IDs required by the policy.' + guests_or_external_users.external_tenants: '- (Optional) An external_tenants block as documented below, which specifies external tenants in a policy scope.' + guests_or_external_users.external_tenants.members: '- (Optional) A list tenant IDs. Can only be specified if membership_kind is enumerated.' + guests_or_external_users.external_tenants.membership_kind: '- (Required) The external tenant membership kind. Possible values are: all, enumerated, unknownFutureValue.' + guests_or_external_users.guest_or_external_user_types: '- (Required) A list of guest or external user types. Possible values are: b2bCollaborationGuest, b2bCollaborationMember, b2bDirectConnectUser, internalGuest, none, otherExternalUser, serviceProvider, unknownFutureValue.' id: '- The ID of the Conditional Access Policy.' locations.excluded_locations: '- (Optional) A list of location IDs excluded from scope of policy. Can also be set to AllTrusted.' locations.included_locations: '- (Required) A list of location IDs in scope of policy unless explicitly excluded. Can also be set to All, or AllTrusted.' platforms.excluded_platforms: '- (Optional) A list of platforms explicitly excluded from the policy. Possible values are: all, android, iOS, linux, macOS, windows, windowsPhone or unknownFutureValue.' platforms.included_platforms: '- (Required) A list of platforms the policy applies to, unless explicitly excluded. Possible values are: all, android, iOS, linux, macOS, windows, windowsPhone or unknownFutureValue.' session_controls: '- (Optional) A session_controls block as documented below, which specifies the session controls that are enforced after sign-in.' - session_controls.application_enforced_restrictions_enabled: '- (Optional) Whether or not application enforced restrictions are enabled. Defaults to false.' + session_controls.application_enforced_restrictions_enabled: '- (Optional) Whether application enforced restrictions are enabled. Defaults to false.' session_controls.cloud_app_security_policy: '- (Optional) Enables cloud app security and specifies the cloud app security policy to use. Possible values are: blockDownloads, mcasConfigured, monitorOnly or unknownFutureValue.' session_controls.disable_resilience_defaults: '- (Optional) Disables resilience defaults. Defaults to false.' - session_controls.persistent_browser_mode: '- (Optional) Session control to define whether to persist cookies or not. Possible values are: always or never.' - session_controls.sign_in_frequency: '- (Optional) Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created.' - session_controls.sign_in_frequency_period: '- (Optional) The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified. Due to an API issue, removing this property forces a new resource to be created.' + session_controls.persistent_browser_mode: '- (Optional) Session control to define whether to persist cookies. Possible values are: always or never.' + session_controls.sign_in_frequency: '- (Optional) Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified.' + session_controls.sign_in_frequency_authentication_type: '- (Optional) Authentication type for enforcing sign-in frequency. Possible values are: primaryAndSecondaryAuthentication or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication.' + session_controls.sign_in_frequency_interval: '- (Optional) The interval to apply to sign-in frequency control. Possible values are: timeBased or everyTime. Defaults to timeBased.' + session_controls.sign_in_frequency_period: '- (Optional) The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period is specified.' users.excluded_groups: '- (Optional) A list of group IDs excluded from scope of policy.' + users.excluded_guests_or_external_users: '- (Optional) A guests_or_external_users block as documented below, which specifies internal guests and external users excluded from scope of policy.' users.excluded_roles: '- (Optional) A list of role IDs excluded from scope of policy.' users.excluded_users: '- (Optional) A list of user IDs excluded from scope of policy and/or GuestsOrExternalUsers.' users.included_groups: '- (Optional) A list of group IDs in scope of policy unless explicitly excluded.' + users.included_guests_or_external_users: '- (Optional) A guests_or_external_users block as documented below, which specifies internal guests and external users in scope of policy.' users.included_roles: '- (Optional) A list of role IDs in scope of policy unless explicitly excluded.' users.included_users: '- (Optional) A list of user IDs in scope of policy unless explicitly excluded, or None or All or GuestsOrExternalUsers.' importStatements: @@ -1394,7 +1919,7 @@ resources: ], "version": "1.0" } - - name: test + - name: example manifest: |- { "directory_scope_id": "${format(\"/%s\", azuread_application.example.object_id)}", @@ -1419,7 +1944,35 @@ resources: principal_object_id: '- (Required) The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.' role_id: '- (Required) The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.' importStatements: - - terraform import azuread_directory_role_assignment.test ePROZI_iKE653D_d6aoLHyr-lKgHI8ZGiIdz8CLVcng-1 + - terraform import azuread_directory_role_assignment.example ePROZI_iKE653D_d6aoLHyr-lKgHI8ZGiIdz8CLVcng-1 + azuread_directory_role_eligibility_schedule_request: + subCategory: Directory Roles + name: azuread_directory_role_eligibility_schedule_request + title: "" + examples: + - name: example + manifest: |- + { + "directory_scope_id": "/", + "justification": "Example", + "principal_id": "${azuread_user.example.object_id}", + "role_definition_id": "${azuread_directory_role.example.template_id}" + } + references: + principal_id: azuread_user.example.object_id + role_definition_id: azuread_directory_role.example.template_id + dependencies: + azuread_directory_role.example: |- + { + "display_name": "Application Administrator" + } + argumentDocs: + directory_scope_id: '- (Required) Identifier of the directory object representing the scope of the role eligibility. Changing this forces a new resource to be created.' + justification: '- (Required) Justification for why the principal is granted the role eligibility. Changing this forces a new resource to be created.' + principal_id: '- (Required) The object ID of the principal to granted the role eligibility. Changing this forces a new resource to be created.' + role_definition_id: '- (Required) The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.' + importStatements: + - terraform import azuread_directory_role_eligibility_schedule_request.example 822ec710-4c9f-4f71-a27a-451759cc7522 azuread_directory_role_member: subCategory: Directory Roles name: azuread_directory_role_member @@ -1443,7 +1996,7 @@ resources: member_object_id: '- (Required) The object ID of the principal you want to add as a member to the directory role. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.' role_object_id: '- (Required) The object ID of the directory role you want to add the member to. Changing this forces a new resource to be created.' importStatements: - - terraform import azuread_directory_role_member.test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111 + - terraform import azuread_directory_role_member.example 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111 azuread_group: subCategory: Groups name: azuread_group @@ -1581,7 +2134,7 @@ resources: group_object_id: '- (Required) The object ID of the group you want to add the member to. Changing this forces a new resource to be created.' member_object_id: '- (Required) The object ID of the principal you want to add as a member to the group. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.' importStatements: - - terraform import azuread_group_member.test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111 + - terraform import azuread_group_member.example 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111 azuread_invitation: subCategory: Invitations name: azuread_invitation @@ -1671,7 +2224,7 @@ resources: display_name: '- (Required) The friendly name for this named location.' id: '- The ID of the named location.' ip: '- (Optional) An ip block as documented below, which configures an IP-based named location.' - ip.ip_ranges: '- (Required) List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596.' + ip.ip_ranges: '- (Required) List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF RFC596. Each CIDR prefix must be /8 or larger.' ip.trusted: '- (Optional) Whether the named location is trusted. Defaults to false.' importStatements: - terraform import azuread_named_location.my_location 00000000-0000-0000-0000-000000000000 @@ -1684,13 +2237,13 @@ resources: manifest: |- { "app_role_assignment_required": false, - "application_id": "${azuread_application.example.application_id}", + "client_id": "${azuread_application.example.client_id}", "owners": [ "${data.azuread_client_config.current.object_id}" ] } references: - application_id: azuread_application.example.application_id + client_id: azuread_application.example.client_id dependencies: azuread_application.example: |- { @@ -1703,7 +2256,7 @@ resources: manifest: |- { "app_role_assignment_required": false, - "application_id": "${azuread_application.example.application_id}", + "client_id": "${azuread_application.example.client_id}", "feature_tags": [ { "enterprise": true, @@ -1715,7 +2268,7 @@ resources: ] } references: - application_id: azuread_application.example.application_id + client_id: azuread_application.example.client_id dependencies: azuread_application.example: |- { @@ -1727,19 +2280,19 @@ resources: - name: msgraph manifest: |- { - "application_id": "${data.azuread_application_published_app_ids.well_known.result.MicrosoftGraph}", + "client_id": "${data.azuread_application_published_app_ids.well_known.result.MicrosoftGraph}", "use_existing": true } references: - application_id: data.azuread_application_published_app_ids.well_known.result.MicrosoftGraph + client_id: data.azuread_application_published_app_ids.well_known.result.MicrosoftGraph - name: example manifest: |- { - "application_id": "${azuread_application.example.application_id}", + "client_id": "${azuread_application.example.client_id}", "use_existing": true } references: - application_id: azuread_application.example.application_id + client_id: azuread_application.example.client_id dependencies: azuread_application.example: |- { @@ -1755,8 +2308,8 @@ resources: app_role_assignment_required: '- (Optional) Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application. Defaults to false.' app_role_ids: '- A mapping of app role values to app role IDs, as published by the associated application, intended to be useful when referencing app roles in other resources in your configuration.' app_roles: '- A list of app roles published by the associated application, as documented below. For more information official documentation.' - application_id: '- (Required) The application ID (client ID) of the application for which to create a service principal.' application_tenant_id: '- The tenant ID where the associated application is registered.' + client_id: '- (Required) The client ID of the application for which to create a service principal.' description: '- (Optional) A description of the service principal provided for internal end-users.' display_name: '- The display name of the application associated with this service principal.' enabled: '- Determines if the app role is enabled.' @@ -1789,7 +2342,7 @@ resources: user_consent_display_name: '- Display name for the delegated permission that appears in the end user consent experience.' value: '- The value that is used for the roles claim in ID tokens and OAuth 2.0 access tokens that are authenticating an assigned service or user principal.' importStatements: - - terraform import azuread_service_principal.test 00000000-0000-0000-0000-000000000000 + - terraform import azuread_service_principal.example 00000000-0000-0000-0000-000000000000 azuread_service_principal_certificate: subCategory: Service Principals name: azuread_service_principal_certificate @@ -1844,7 +2397,7 @@ resources: type: '- (Required) The type of key/certificate. Must be one of AsymmetricX509Cert or Symmetric. Changing this fields forces a new resource to be created.' value: '- (Required) The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the encoding argument.' importStatements: - - terraform import azuread_service_principal_certificate.test 00000000-0000-0000-0000-000000000000/certificate/11111111-1111-1111-1111-111111111111 + - terraform import azuread_service_principal_certificate.example 00000000-0000-0000-0000-000000000000/certificate/11111111-1111-1111-1111-111111111111 azuread_service_principal_claims_mapping_policy_assignment: subCategory: Service Principals name: azuread_service_principal_claims_mapping_policy_assignment diff --git a/config/schema.json b/config/schema.json index 1ec9b54f..9701bbd4 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/hashicorp/azuread":{"provider":{"version":0,"block":{"attributes":{"client_certificate":{"type":"string","description":"Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate","description_kind":"plain","optional":true},"client_certificate_password":{"type":"string","description":"The password to decrypt the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate","description_kind":"plain","optional":true},"client_certificate_path":{"type":"string","description":"The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"The Client ID which should be used for service principal authentication","description_kind":"plain","optional":true},"client_secret":{"type":"string","description":"The application password to use when authenticating as a Service Principal using a Client Secret","description_kind":"plain","optional":true},"disable_terraform_partner_id":{"type":"bool","description":"Disable the Terraform Partner ID, which is used if a custom `partner_id` isn't specified","description_kind":"plain","optional":true},"environment":{"type":"string","description":"The cloud environment which should be used. Possible values are: `global` (also `public`), `usgovernmentl4` (also `usgovernment`), `usgovernmentl5` (also `dod`), and `china`. Defaults to `global`","description_kind":"plain","optional":true},"metadata_host":{"type":"string","description":"The Hostname which should be used for the Azure Metadata Service.","description_kind":"plain","optional":true},"msi_endpoint":{"type":"string","description":"The path to a custom endpoint for Managed Identity - in most circumstances this should be detected automatically","description_kind":"plain","optional":true},"oidc_request_token":{"type":"string","description":"The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"oidc_request_url":{"type":"string","description":"The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"oidc_token":{"type":"string","description":"The ID token for use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"oidc_token_file_path":{"type":"string","description":"The path to a file containing an ID token for use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"partner_id":{"type":"string","description":"A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution","description_kind":"plain","optional":true},"tenant_id":{"type":"string","description":"The Tenant ID which should be used. Works with all authentication methods except Managed Identity","description_kind":"plain","optional":true},"use_cli":{"type":"bool","description":"Allow Azure CLI to be used for Authentication","description_kind":"plain","optional":true},"use_msi":{"type":"bool","description":"Allow Managed Identity to be used for Authentication","description_kind":"plain","optional":true},"use_oidc":{"type":"bool","description":"Allow OpenID Connect to be used for authentication","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"azuread_access_package":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The ID of the Catalog this access package will be created in","description_kind":"plain","required":true},"description":{"type":"string","description":"The description of the access package","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the access package","description_kind":"plain","required":true},"hidden":{"type":"bool","description":"Whether the access package is hidden from the requestor","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_assignment_policy":{"version":0,"block":{"attributes":{"access_package_id":{"type":"string","description":"The ID of the access package that will contain the policy","description_kind":"plain","required":true},"description":{"type":"string","description":"The description of the policy","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the policy","description_kind":"plain","required":true},"duration_in_days":{"type":"number","description":"How many days this assignment is valid for","description_kind":"plain","optional":true},"expiration_date":{"type":"string","description":"The date that this assignment expires, formatted as an RFC3339 date string in UTC (e.g. 2018-01-01T01:02:03Z)","description_kind":"plain","optional":true},"extension_enabled":{"type":"bool","description":"When enabled, users will be able to request extension of their access to this package before their access expires","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"approval_settings":{"nesting_mode":"list","block":{"attributes":{"approval_required":{"type":"bool","description":"Whether an approval is required","description_kind":"plain","optional":true},"approval_required_for_extension":{"type":"bool","description":"Whether an approval is required to grant extension. Same approval settings used to approve initial access will apply","description_kind":"plain","optional":true},"requestor_justification_required":{"type":"bool","description":"Whether requestor are required to provide a justification to request an access package. Justification is visible to other approvers and the requestor","description_kind":"plain","optional":true}},"block_types":{"approval_stage":{"nesting_mode":"list","block":{"attributes":{"alternative_approval_enabled":{"type":"bool","description":"If no action taken, forward to alternate approvers?","description_kind":"plain","optional":true},"approval_timeout_in_days":{"type":"number","description":"Decision must be made in how many days? If a request is not approved within this time period after it is made, it will be automatically rejected","description_kind":"plain","required":true},"approver_justification_required":{"type":"bool","description":"Whether an approver must provide a justification for their decision. Justification is visible to other approvers and the requestor","description_kind":"plain","optional":true},"enable_alternative_approval_in_days":{"type":"number","description":"Forward to alternate approver(s) after how many days?","description_kind":"plain","optional":true}},"block_types":{"alternative_approver":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"If escalation is enabled and the primary approvers do not respond before the escalation time, the escalationApprovers are the users who will be asked to approve requests. This can be a collection of singleUser, groupMembers, requestorManager, internalSponsors and externalSponsors. When creating or updating a policy, if there are no escalation approvers, or escalation approvers are not required for the stage, the value of this property should be an empty collection","description_kind":"plain"}},"primary_approver":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"The users who will be asked to approve requests. A collection of singleUser, groupMembers, requestorManager, internalSponsors and externalSponsors. When creating or updating a policy, include at least one userSet in this collection","description_kind":"plain"}}},"description":"The process to obtain an approval","description_kind":"plain"}}},"description":"Settings of whether approvals are required and how they are obtained","description_kind":"plain"},"max_items":1},"assignment_review_settings":{"nesting_mode":"list","block":{"attributes":{"access_recommendation_enabled":{"type":"bool","description":"Whether to show Show reviewer decision helpers. If enabled, system recommendations based on users' access information will be shown to the reviewers. The reviewer will be recommended to approve the review if the user has signed-in at least once during the last 30 days. The reviewer will be recommended to deny the review if the user has not signed-in during the last 30 days","description_kind":"plain","optional":true},"access_review_timeout_behavior":{"type":"string","description":"What actions the system takes if reviewers don't respond in time","description_kind":"plain","optional":true},"approver_justification_required":{"type":"bool","description":"Whether a reviewer need provide a justification for their decision. Justification is visible to other reviewers and the requestor","description_kind":"plain","optional":true},"duration_in_days":{"type":"number","description":"How many days each occurrence of the access review series will run","description_kind":"plain","optional":true},"enabled":{"type":"bool","description":"Whether to enable assignment review","description_kind":"plain","optional":true},"review_frequency":{"type":"string","description":"This will determine how often the access review campaign runs","description_kind":"plain","optional":true},"review_type":{"type":"string","description":"Self review or specific reviewers","description_kind":"plain","optional":true},"starting_on":{"type":"string","description":"This is the date the access review campaign will start on, formatted as an RFC3339 date string in UTC(e.g. 2018-01-01T01:02:03Z), default is now. Once an access review has been created, you cannot update its start date","description_kind":"plain","optional":true}},"block_types":{"reviewer":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"If the reviewerType is Reviewers, this collection specifies the users who will be reviewers, either by ID or as members of a group, using a collection of singleUser and groupMembers","description_kind":"plain"}}},"description":"The settings of whether assignment review is needed and how it's conducted","description_kind":"plain"},"max_items":1},"question":{"nesting_mode":"list","block":{"attributes":{"required":{"type":"bool","description":"Whether this question is required","description_kind":"plain","optional":true},"sequence":{"type":"number","description":"The sequence number of this question","description_kind":"plain","optional":true}},"block_types":{"choice":{"nesting_mode":"list","block":{"attributes":{"actual_value":{"type":"string","description":"The actual value of this choice","description_kind":"plain","required":true}},"block_types":{"display_value":{"nesting_mode":"list","block":{"attributes":{"default_text":{"type":"string","description":"The default text of this question","description_kind":"plain","required":true}},"block_types":{"localized_text":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The localized content of this question","description_kind":"plain","required":true},"language_code":{"type":"string","description":"The language code of this question content","description_kind":"plain","required":true}},"description":"The localized text of this question","description_kind":"plain"}}},"description":"The display text of this choice","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Configuration of a choice to the question","description_kind":"plain"}},"text":{"nesting_mode":"list","block":{"attributes":{"default_text":{"type":"string","description":"The default text of this question","description_kind":"plain","required":true}},"block_types":{"localized_text":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The localized content of this question","description_kind":"plain","required":true},"language_code":{"type":"string","description":"The language code of this question content","description_kind":"plain","required":true}},"description":"The localized text of this question","description_kind":"plain"}}},"description":"The content of this question","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"One or more questions to the requestor","description_kind":"plain"}},"requestor_settings":{"nesting_mode":"list","block":{"attributes":{"requests_accepted":{"type":"bool","description":"Whether to accept requests now, when disabled, no new requests can be made using this policy","description_kind":"plain","optional":true},"scope_type":{"type":"string","description":"Specify the scopes of the requestors","description_kind":"plain","optional":true}},"block_types":{"requestor":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"The users who are allowed to request on this policy, which can be singleUser, groupMembers, and connectedOrganizationMembers","description_kind":"plain"}}},"description":"This block configures the users who can request access","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the access package catalog","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the access package catalog","description_kind":"plain","required":true},"externally_visible":{"type":"bool","description":"Whether the access packages in this catalog can be requested by users outside the tenant","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"published":{"type":"bool","description":"Whether the access packages in this catalog are available for management","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog_role_assignment":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The unique ID of the access package catalog.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal_object_id":{"type":"string","description":"The object ID of the member principal","description_kind":"plain","required":true},"role_id":{"type":"string","description":"The object ID of the catalog role for this assignment","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_resource_catalog_association":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The unique ID of the access package catalog","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_origin_id":{"type":"string","description":"The unique identifier of the resource in the origin system. In the case of an Azure AD group, this is the identifier of the group","description_kind":"plain","required":true},"resource_origin_system":{"type":"string","description":"The type of the resource in the origin system, such as SharePointOnline, AadApplication or AadGroup","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_resource_package_association":{"version":0,"block":{"attributes":{"access_package_id":{"type":"string","description":"The ID of access package this resource association is configured to","description_kind":"plain","required":true},"access_type":{"type":"string","description":"The role of access type to the specified resource, valid values are `Member` and `Owner`","description_kind":"plain","optional":true},"catalog_resource_association_id":{"type":"string","description":"The ID of the access package catalog association","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description for the administrative unit","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name for the administrative unit","description_kind":"plain","required":true},"hidden_membership_enabled":{"type":"bool","description":"Whether the administrative unit and its members are hidden or publicly viewable in the directory","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"members":{"type":["set","string"],"description":"A set of object IDs of members who should be present in this administrative unit. Supported object types are Users or Groups","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","computed":true},"prevent_duplicate_names":{"type":"bool","description":"If `true`, will return an error if an existing administrative unit is found with the same name","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit_member":{"version":0,"block":{"attributes":{"administrative_unit_object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the member","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit_role_member":{"version":0,"block":{"attributes":{"administrative_unit_object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the member","description_kind":"plain","required":true},"role_object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_app_role_assignment":{"version":0,"block":{"attributes":{"app_role_id":{"type":"string","description":"The ID of the app role to be assigned","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal_display_name":{"type":"string","description":"The display name of the principal to which the app role is assigned","description_kind":"plain","computed":true},"principal_object_id":{"type":"string","description":"The object ID of the user, group or service principal to be assigned this app role","description_kind":"plain","required":true},"principal_type":{"type":"string","description":"The object type of the principal to which the app role is assigned","description_kind":"plain","computed":true},"resource_display_name":{"type":"string","description":"The display name of the application representing the resource","description_kind":"plain","computed":true},"resource_object_id":{"type":"string","description":"The object ID of the service principal representing the resource","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application":{"version":1,"block":{"attributes":{"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The Application ID (also called Client ID)","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the application as shown to end users","description_kind":"plain","optional":true},"device_only_auth_enabled":{"type":"bool","description":"Specifies whether this application supports device authentication without a user.","description_kind":"plain","optional":true},"disabled_by_microsoft":{"type":"string","description":"Whether Microsoft has disabled the registered application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application","description_kind":"plain","required":true},"fallback_public_client_enabled":{"type":"bool","description":"Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI","description_kind":"plain","optional":true},"group_membership_claims":{"type":["set","string"],"description":"Configures the `groups` claim issued in a user or OAuth 2.0 access token that the app expects","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifier_uris":{"type":["set","string"],"description":"The user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant","description_kind":"plain","optional":true},"logo_image":{"type":"string","description":"Base64 encoded logo image in gif, png or jpeg format","description_kind":"plain","optional":true},"logo_url":{"type":"string","description":"CDN URL to the application's logo","description_kind":"plain","computed":true},"marketing_url":{"type":"string","description":"URL of the application's marketing page","description_kind":"plain","optional":true},"notes":{"type":"string","description":"User-specified notes relevant for the management of the application","description_kind":"plain","optional":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_post_response_required":{"type":"bool","description":"Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests.","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The application's object ID","description_kind":"plain","computed":true},"owners":{"type":["set","string"],"description":"A list of object IDs of principals that will be granted ownership of the application","description_kind":"plain","optional":true},"prevent_duplicate_names":{"type":"bool","description":"If `true`, will return an error if an existing application is found with the same name","description_kind":"plain","optional":true},"privacy_statement_url":{"type":"string","description":"URL of the application's privacy statement","description_kind":"plain","optional":true},"publisher_domain":{"type":"string","description":"The verified publisher domain for the application","description_kind":"plain","computed":true},"service_management_reference":{"type":"string","description":"References application or service contact information from a Service or Asset Management database","description_kind":"plain","optional":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the current application","description_kind":"plain","optional":true},"support_url":{"type":"string","description":"URL of the application's support page","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A set of tags to apply to the application","description_kind":"plain","optional":true,"computed":true},"template_id":{"type":"string","description":"Unique ID of the application template from which this application is created","description_kind":"plain","optional":true,"computed":true},"terms_of_service_url":{"type":"string","description":"URL of the application's terms of service statement","description_kind":"plain","optional":true}},"block_types":{"api":{"nesting_mode":"list","block":{"attributes":{"known_client_applications":{"type":["set","string"],"description":"Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app","description_kind":"plain","optional":true},"mapped_claims_enabled":{"type":"bool","description":"Allows an application to use claims mapping without specifying a custom signing key","description_kind":"plain","optional":true},"requested_access_token_version":{"type":"number","description":"The access token version expected by this resource","description_kind":"plain","optional":true}},"block_types":{"oauth2_permission_scope":{"nesting_mode":"set","block":{"attributes":{"admin_consent_description":{"type":"string","description":"Delegated permission description that appears in all tenant-wide admin consent experiences, intended to be read by an administrator granting the permission on behalf of all users","description_kind":"plain","optional":true},"admin_consent_display_name":{"type":"string","description":"Display name for the delegated permission, intended to be read by an administrator granting the permission on behalf of all users","description_kind":"plain","optional":true},"enabled":{"type":"bool","description":"Determines if the permission scope is enabled","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique identifier of the delegated permission","description_kind":"plain","required":true},"type":{"type":"string","description":"Whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions","description_kind":"plain","optional":true},"user_consent_description":{"type":"string","description":"Delegated permission description that appears in the end user consent experience, intended to be read by a user consenting on their own behalf","description_kind":"plain","optional":true},"user_consent_display_name":{"type":"string","description":"Display name for the delegated permission that appears in the end user consent experience","description_kind":"plain","optional":true},"value":{"type":"string","description":"The value that is used for the `scp` claim in OAuth 2.0 access tokens","description_kind":"plain","optional":true}},"description":"One or more `oauth2_permission_scope` blocks to describe delegated permissions exposed by the web API represented by this application","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"app_role":{"nesting_mode":"set","block":{"attributes":{"allowed_member_types":{"type":["set","string"],"description":"Specifies whether this app role definition can be assigned to users and groups by setting to `User`, or to other applications (that are accessing this application in a standalone scenario) by setting to `Application`, or to both","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the app role that appears when the role is being assigned and, if the role functions as an application permissions, during the consent experiences","description_kind":"plain","required":true},"display_name":{"type":"string","description":"Display name for the app role that appears during app role assignment and in consent experiences","description_kind":"plain","required":true},"enabled":{"type":"bool","description":"Determines if the app role is enabled","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique identifier of the app role","description_kind":"plain","required":true},"value":{"type":"string","description":"The value that is used for the `roles` claim in ID tokens and OAuth 2.0 access tokens that are authenticating an assigned service or user principal","description_kind":"plain","optional":true}},"description_kind":"plain"}},"feature_tags":{"nesting_mode":"list","block":{"attributes":{"custom_single_sign_on":{"type":"bool","description":"Whether this application represents a custom SAML application for linked service principals","description_kind":"plain","optional":true},"enterprise":{"type":"bool","description":"Whether this application represents an Enterprise Application for linked service principals","description_kind":"plain","optional":true},"gallery":{"type":"bool","description":"Whether this application represents a gallery application for linked service principals","description_kind":"plain","optional":true},"hide":{"type":"bool","description":"Whether this application is invisible to users in My Apps and Office 365 Launcher","description_kind":"plain","optional":true}},"description":"Block of features to configure for this application using tags","description_kind":"plain"}},"optional_claims":{"nesting_mode":"list","block":{"block_types":{"access_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"id_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"saml2_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"public_client":{"nesting_mode":"list","block":{"attributes":{"redirect_uris":{"type":["set","string"],"description":"The URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"required_resource_access":{"nesting_mode":"set","block":{"attributes":{"resource_app_id":{"type":"string","description_kind":"plain","required":true}},"block_types":{"resource_access":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"single_page_application":{"nesting_mode":"list","block":{"attributes":{"redirect_uris":{"type":["set","string"],"description":"The URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"web":{"nesting_mode":"list","block":{"attributes":{"homepage_url":{"type":"string","description":"Home page or landing page of the application","description_kind":"plain","optional":true},"logout_url":{"type":"string","description":"The URL that will be used by Microsoft's authorization service to sign out a user using front-channel, back-channel or SAML logout protocols","description_kind":"plain","optional":true},"redirect_uris":{"type":["set","string"],"description":"The URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent","description_kind":"plain","optional":true}},"block_types":{"implicit_grant":{"nesting_mode":"list","block":{"attributes":{"access_token_issuance_enabled":{"type":"bool","description":"Whether this web application can request an access token using OAuth 2.0 implicit flow","description_kind":"plain","optional":true},"id_token_issuance_enabled":{"type":"bool","description":"Whether this web application can request an ID token using OAuth 2.0 implicit flow","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"azuread_application_certificate":{"version":0,"block":{"attributes":{"application_object_id":{"type":"string","description":"The object ID of the application for which this certificate should be created","description_kind":"plain","required":true},"encoding":{"type":"string","description":"Specifies the encoding used for the supplied certificate data","description_kind":"plain","optional":true},"end_date":{"type":"string","description":"The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If omitted, the API will decide a suitable expiry date, which is typically around 2 years from the start date","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the certificate is valid until, for example `240h` (10 days) or `2400h30m`","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this certificate. If omitted, a random UUID will be automatically generated","description_kind":"plain","optional":true,"computed":true},"start_date":{"type":"string","description":"The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date and time are use","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of key/certificate","description_kind":"plain","optional":true},"value":{"type":"string","description":"The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argumen","description_kind":"plain","required":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_federated_identity_credential":{"version":0,"block":{"attributes":{"application_object_id":{"type":"string","description":"The object ID of the application for which this federated identity credential should be created","description_kind":"plain","required":true},"audiences":{"type":["list","string"],"description":"List of audiences that can appear in the external token. This specifies what should be accepted in the `aud` claim of incoming tokens.","description_kind":"plain","required":true},"credential_id":{"type":"string","description":"A UUID used to uniquely identify this federated identity credential","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the federated identity credential","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"A unique display name for the federated identity credential","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer":{"type":"string","description":"The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app.","description_kind":"plain","required":true},"subject":{"type":"string","description":"The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app.","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_password":{"version":1,"block":{"attributes":{"application_object_id":{"type":"string","description":"The object ID of the application for which this password should be created","description_kind":"plain","required":true},"display_name":{"type":"string","description":"A display name for the password","description_kind":"plain","optional":true,"computed":true},"end_date":{"type":"string","description":"The end date until which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`)","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the password is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this password credential","description_kind":"plain","computed":true},"rotate_when_changed":{"type":["map","string"],"description":"Arbitrary map of values that, when changed, will trigger rotation of the password","description_kind":"plain","optional":true},"start_date":{"type":"string","description":"The start date from which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The password for this application, which is generated by Azure Active Directory","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_pre_authorized":{"version":0,"block":{"attributes":{"application_object_id":{"type":"string","description":"The object ID of the application to which this pre-authorized application should be added","description_kind":"plain","required":true},"authorized_app_id":{"type":"string","description":"The application ID of the pre-authorized application","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission_ids":{"type":["set","string"],"description":"The IDs of the permission scopes required by the pre-authorized application","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_claims_mapping_policy":{"version":0,"block":{"attributes":{"definition":{"type":["list","string"],"description":"A string collection containing a JSON string that defines the rules and settings for this policy","description_kind":"plain","required":true},"display_name":{"type":"string","description":"Display name for this policy","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"azuread_conditional_access_policy":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","required":true}},"block_types":{"conditions":{"nesting_mode":"list","block":{"attributes":{"client_app_types":{"type":["list","string"],"description_kind":"plain","required":true},"service_principal_risk_levels":{"type":["list","string"],"description_kind":"plain","optional":true},"sign_in_risk_levels":{"type":["list","string"],"description_kind":"plain","optional":true},"user_risk_levels":{"type":["list","string"],"description_kind":"plain","optional":true}},"block_types":{"applications":{"nesting_mode":"list","block":{"attributes":{"excluded_applications":{"type":["list","string"],"description_kind":"plain","optional":true},"included_applications":{"type":["list","string"],"description_kind":"plain","optional":true},"included_user_actions":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"client_applications":{"nesting_mode":"list","block":{"attributes":{"excluded_service_principals":{"type":["list","string"],"description_kind":"plain","optional":true},"included_service_principals":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"devices":{"nesting_mode":"list","block":{"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"mode":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"locations":{"nesting_mode":"list","block":{"attributes":{"excluded_locations":{"type":["list","string"],"description_kind":"plain","optional":true},"included_locations":{"type":["list","string"],"description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"platforms":{"nesting_mode":"list","block":{"attributes":{"excluded_platforms":{"type":["list","string"],"description_kind":"plain","optional":true},"included_platforms":{"type":["list","string"],"description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"users":{"nesting_mode":"list","block":{"attributes":{"excluded_groups":{"type":["list","string"],"description_kind":"plain","optional":true},"excluded_roles":{"type":["list","string"],"description_kind":"plain","optional":true},"excluded_users":{"type":["list","string"],"description_kind":"plain","optional":true},"included_groups":{"type":["list","string"],"description_kind":"plain","optional":true},"included_roles":{"type":["list","string"],"description_kind":"plain","optional":true},"included_users":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"grant_controls":{"nesting_mode":"list","block":{"attributes":{"built_in_controls":{"type":["list","string"],"description_kind":"plain","required":true},"custom_authentication_factors":{"type":["list","string"],"description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"terms_of_use":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"session_controls":{"nesting_mode":"list","block":{"attributes":{"application_enforced_restrictions_enabled":{"type":"bool","description_kind":"plain","optional":true},"cloud_app_security_policy":{"type":"string","description_kind":"plain","optional":true},"disable_resilience_defaults":{"type":"bool","description_kind":"plain","optional":true},"persistent_browser_mode":{"type":"string","description_kind":"plain","optional":true},"sign_in_frequency":{"type":"number","description_kind":"plain","optional":true},"sign_in_frequency_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_custom_directory_role":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the custom directory role","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name of the custom directory role","description_kind":"plain","required":true},"enabled":{"type":"bool","description":"Indicates whether the role is enabled for assignment","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"Custom template identifier that is typically used if one needs an identifier to be the same across different directories.","description_kind":"plain","optional":true,"computed":true},"version":{"type":"string","description":"The version of the role definition.","description_kind":"plain","required":true}},"block_types":{"permissions":{"nesting_mode":"set","block":{"attributes":{"allowed_resource_actions":{"type":["set","string"],"description":"Set of tasks that can be performed on a resource","description_kind":"plain","required":true}},"description":"List of permissions that are included in the custom directory role","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the directory role","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the directory role","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"The object ID of the template associated with the directory role","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_assignment":{"version":0,"block":{"attributes":{"app_scope_id":{"type":"string","description":"Identifier of the app-specific scope when the assignment scope is app-specific","description_kind":"plain","optional":true,"computed":true},"app_scope_object_id":{"type":"string","description":"Identifier of the app-specific scope when the assignment scope is app-specific","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"directory_scope_id":{"type":"string","description":"Identifier of the directory object representing the scope of the assignment","description_kind":"plain","optional":true,"computed":true},"directory_scope_object_id":{"type":"string","description":"Identifier of the directory object representing the scope of the assignment","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal_object_id":{"type":"string","description":"The object ID of the member principal","description_kind":"plain","required":true},"role_id":{"type":"string","description":"The object ID of the directory role for this assignment","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_member":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the member","description_kind":"plain","optional":true},"role_object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}},"azuread_group":{"version":0,"block":{"attributes":{"administrative_unit_ids":{"type":["set","string"],"description":"The administrative unit IDs in which the group should be. If empty, the group will be created at the tenant level.","description_kind":"plain","optional":true},"assignable_to_role":{"type":"bool","description":"Indicates whether this group can be assigned to an Azure Active Directory role. This property can only be `true` for security-enabled groups.","description_kind":"plain","optional":true},"auto_subscribe_new_members":{"type":"bool","description":"Indicates whether new members added to the group will be auto-subscribed to receive email notifications.","description_kind":"plain","optional":true,"computed":true},"behaviors":{"type":["set","string"],"description":"The group behaviours for a Microsoft 365 group","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description for the group","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name for the group","description_kind":"plain","required":true},"external_senders_allowed":{"type":"bool","description":"Indicates whether people external to the organization can send messages to the group.","description_kind":"plain","optional":true,"computed":true},"hide_from_address_lists":{"type":"bool","description":"Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups.","description_kind":"plain","optional":true,"computed":true},"hide_from_outlook_clients":{"type":"bool","description":"Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mail":{"type":"string","description":"The SMTP address for the group","description_kind":"plain","computed":true},"mail_enabled":{"type":"bool","description":"Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. A group can be mail enabled _and_ security enabled","description_kind":"plain","optional":true},"mail_nickname":{"type":"string","description":"The mail alias for the group, unique in the organisation","description_kind":"plain","optional":true,"computed":true},"members":{"type":["set","string"],"description":"A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the group","description_kind":"plain","computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premises FQDN, also called dnsDomainName, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_group_type":{"type":"string","description":"Indicates the target on-premise group type the group will be written back as","description_kind":"plain","optional":true,"computed":true},"onpremises_netbios_name":{"type":"string","description":"The on-premises NetBIOS name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premises SAM account name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premises security identifier (SID), synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this group is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"owners":{"type":["set","string"],"description":"A set of owners who own this group. Supported object types are Users or Service Principals","description_kind":"plain","optional":true,"computed":true},"preferred_language":{"type":"string","description":"The preferred language for a Microsoft 365 group, in ISO 639-1 notation","description_kind":"plain","computed":true},"prevent_duplicate_names":{"type":"bool","description":"If `true`, will return an error if an existing group is found with the same name","description_kind":"plain","optional":true},"provisioning_options":{"type":["set","string"],"description":"The group provisioning options for a Microsoft 365 group","description_kind":"plain","optional":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the group that direct to the same group mailbox","description_kind":"plain","computed":true},"security_enabled":{"type":"bool","description":"Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A group can be security enabled _and_ mail enabled","description_kind":"plain","optional":true},"theme":{"type":"string","description":"The colour theme for a Microsoft 365 group","description_kind":"plain","optional":true},"types":{"type":["set","string"],"description":"A set of group types to configure for the group. `Unified` specifies a Microsoft 365 group. Required when `mail_enabled` is true","description_kind":"plain","optional":true},"visibility":{"type":"string","description":"Specifies the group join policy and group content visibility","description_kind":"plain","optional":true,"computed":true},"writeback_enabled":{"type":"bool","description":"Whether this group should be synced from Azure AD to the on-premises directory when Azure AD Connect is used","description_kind":"plain","optional":true}},"block_types":{"dynamic_membership":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","required":true},"rule":{"type":"string","description":"Rule to determine members for a dynamic group. Required when `group_types` contains 'DynamicMembership'","description_kind":"plain","required":true}},"description":"An optional block to configure dynamic membership for the group. Cannot be used with `members`","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_group_member":{"version":0,"block":{"attributes":{"group_object_id":{"type":"string","description":"The object ID of the group you want to add the member to","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the principal you want to add as a member to the group. Supported object types are Users, Groups or Service Principals","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_invitation":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"redeem_url":{"type":"string","description":"The URL the user can use to redeem their invitation","description_kind":"plain","computed":true},"redirect_url":{"type":"string","description":"The URL that the user should be redirected to once the invitation is redeemed","description_kind":"plain","required":true},"user_display_name":{"type":"string","description":"The display name of the user being invited","description_kind":"plain","optional":true},"user_email_address":{"type":"string","description":"The email address of the user being invited","description_kind":"plain","required":true},"user_id":{"type":"string","description":"Object ID of the invited user","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The user type of the user being invited","description_kind":"plain","optional":true}},"block_types":{"message":{"nesting_mode":"list","block":{"attributes":{"additional_recipients":{"type":["list","string"],"description":"Email addresses of additional recipients the invitation message should be sent to","description_kind":"plain","optional":true},"body":{"type":"string","description":"Customized message body you want to send if you don't want to send the default message","description_kind":"plain","optional":true},"language":{"type":"string","description":"The language you want to send the default message in","description_kind":"plain","optional":true}},"description":"Customize the message sent to the invited user","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_named_location":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"country":{"nesting_mode":"list","block":{"attributes":{"countries_and_regions":{"type":["list","string"],"description_kind":"plain","required":true},"include_unknown_countries_and_regions":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ip":{"nesting_mode":"list","block":{"attributes":{"ip_ranges":{"type":["list","string"],"description_kind":"plain","required":true},"trusted":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal":{"version":0,"block":{"attributes":{"account_enabled":{"type":"bool","description":"Whether or not the service principal account is enabled","description_kind":"plain","optional":true},"alternative_names":{"type":["set","string"],"description":"A list of alternative names, used to retrieve service principals by subscription, identify resource group and full resource ids for managed identities","description_kind":"plain","optional":true},"app_role_assignment_required":{"type":"bool","description":"Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application","description_kind":"plain","optional":true},"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"app_roles":{"type":["list",["object",{"allowed_member_types":["list","string"],"description":"string","display_name":"string","enabled":"bool","id":"string","value":"string"}]],"description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The application ID (client ID) of the application for which to create a service principal","description_kind":"plain","required":true},"application_tenant_id":{"type":"string","description":"The tenant ID where the associated application is registered","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the service principal provided for internal end-users","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name of the application associated with this service principal","description_kind":"plain","computed":true},"homepage_url":{"type":"string","description":"Home page or landing page of the application","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login_url":{"type":"string","description":"The URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to launch the application from Microsoft 365 or the Azure AD My Apps. When blank, Azure AD performs IdP-initiated sign-on for applications configured with SAML-based single sign-on","description_kind":"plain","optional":true},"logout_url":{"type":"string","description":"The URL that will be used by Microsoft's authorization service to sign out a user using front-channel, back-channel or SAML logout protocols","description_kind":"plain","computed":true},"notes":{"type":"string","description":"Free text field to capture information about the service principal, typically used for operational purposes","description_kind":"plain","optional":true},"notification_email_addresses":{"type":["set","string"],"description":"List of email addresses where Azure AD sends a notification when the active certificate is near the expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery applications","description_kind":"plain","optional":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_permission_scopes":{"type":["list",["object",{"admin_consent_description":"string","admin_consent_display_name":"string","enabled":"bool","id":"string","type":"string","user_consent_description":"string","user_consent_display_name":"string","value":"string"}]],"description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the service principal","description_kind":"plain","computed":true},"owners":{"type":["set","string"],"description":"A list of object IDs of principals that will be granted ownership of the service principal","description_kind":"plain","optional":true},"preferred_single_sign_on_mode":{"type":"string","description":"The single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to launch the application from Microsoft 365 or the Azure AD My Apps","description_kind":"plain","optional":true},"redirect_uris":{"type":["list","string"],"description":"The URLs where user tokens are sent for sign-in with the associated application, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent for the associated application","description_kind":"plain","computed":true},"saml_metadata_url":{"type":"string","description":"The URL where the service exposes SAML metadata for federation","description_kind":"plain","computed":true},"service_principal_names":{"type":["list","string"],"description":"A list of identifier URI(s), copied over from the associated application","description_kind":"plain","computed":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the associated application","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"A set of tags to apply to the service principal","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"Identifies whether the service principal represents an application or a managed identity","description_kind":"plain","computed":true},"use_existing":{"type":"bool","description":"When true, the resource will return an existing service principal instead of failing with an error","description_kind":"plain","optional":true}},"block_types":{"feature_tags":{"nesting_mode":"list","block":{"attributes":{"custom_single_sign_on":{"type":"bool","description":"Whether this service principal represents a custom SAML application","description_kind":"plain","optional":true},"enterprise":{"type":"bool","description":"Whether this service principal represents an Enterprise Application","description_kind":"plain","optional":true},"gallery":{"type":"bool","description":"Whether this service principal represents a gallery application","description_kind":"plain","optional":true},"hide":{"type":"bool","description":"Whether this app is invisible to users in My Apps and Office 365 Launcher","description_kind":"plain","optional":true}},"description":"Block of features to configure for this service principal using tags","description_kind":"plain"}},"features":{"nesting_mode":"list","block":{"attributes":{"custom_single_sign_on_app":{"type":"bool","description":"Whether this service principal represents a custom SAML application","description_kind":"plain","optional":true},"enterprise_application":{"type":"bool","description":"Whether this service principal represents an Enterprise Application","description_kind":"plain","optional":true},"gallery_application":{"type":"bool","description":"Whether this service principal represents a gallery application","description_kind":"plain","optional":true},"visible_to_users":{"type":"bool","description":"Whether this app is visible to users in My Apps and Office 365 Launcher","description_kind":"plain","optional":true}},"description":"Block of features to configure for this service principal using tags","description_kind":"plain","deprecated":true}},"saml_single_sign_on":{"nesting_mode":"list","block":{"attributes":{"relay_state":{"type":"string","description":"The relative URI the service provider would redirect to after completion of the single sign-on flow","description_kind":"plain","optional":true}},"description":"Settings related to SAML single sign-on","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_certificate":{"version":0,"block":{"attributes":{"encoding":{"type":"string","description":"Specifies the encoding used for the supplied certificate data","description_kind":"plain","optional":true},"end_date":{"type":"string","description":"The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`)","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the certificate is valid until, for example `240h` (10 days) or `2400h30m`. Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\"","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this certificate. If not specified a UUID will be automatically generated","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this certificate should be created","description_kind":"plain","required":true},"start_date":{"type":"string","description":"The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of key/certificate","description_kind":"plain","optional":true},"value":{"type":"string","description":"The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER","description_kind":"plain","required":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_claims_mapping_policy_assignment":{"version":0,"block":{"attributes":{"claims_mapping_policy_id":{"type":"string","description":"ID of the claims mapping policy to assign","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"Object ID of the service principal for which to assign the policy","description_kind":"plain","required":true}},"description_kind":"plain"}},"azuread_service_principal_delegated_permission_grant":{"version":0,"block":{"attributes":{"claim_values":{"type":["set","string"],"description":"A set of claim values for delegated permission scopes which should be included in access tokens for the resource","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_service_principal_object_id":{"type":"string","description":"The object ID of the service principal representing the resource to be accessed","description_kind":"plain","required":true},"service_principal_object_id":{"type":"string","description":"The object ID of the service principal for which this delegated permission grant should be created","description_kind":"plain","required":true},"user_object_id":{"type":"string","description":"The object ID of the user on behalf of whom the service principal is authorized to access the resource","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_password":{"version":1,"block":{"attributes":{"display_name":{"type":"string","description":"A display name for the password","description_kind":"plain","optional":true,"computed":true},"end_date":{"type":"string","description":"The end date until which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`)","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the password is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this password credential","description_kind":"plain","computed":true},"rotate_when_changed":{"type":["map","string"],"description":"Arbitrary map of values that, when changed, will trigger rotation of the password","description_kind":"plain","optional":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this password should be created","description_kind":"plain","required":true},"start_date":{"type":"string","description":"The start date from which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The password for this service principal, which is generated by Azure Active Directory","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_token_signing_certificate":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"A friendly name for the certificate","description_kind":"plain","optional":true,"computed":true},"end_date":{"type":"string","description":"The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). Default is 3 years from current date.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify the verify certificate.","description_kind":"plain","computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this certificate should be created","description_kind":"plain","required":true},"start_date":{"type":"string","description":"The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`).","description_kind":"plain","computed":true},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.","description_kind":"plain","computed":true},"value":{"type":"string","description":"The certificate data, which is PEM encoded but does not include the header/footer","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_synchronization_job":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description":"Whether or not the synchronization job is enabled","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"schedule":{"type":["list",["object",{"expiration":"string","interval":"string","state":"string"}]],"description_kind":"plain","computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this synchronization job should be created","description_kind":"plain","required":true},"template_id":{"type":"string","description":"Identifier of the synchronization template this job is based on.","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_synchronization_secret":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this synchronization secret should be created","description_kind":"plain","required":true}},"block_types":{"credential":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"Name for this key-value pair.","description_kind":"plain","required":true},"value":{"type":"string","description":"Value for this key-value pair.","description_kind":"plain","required":true,"sensitive":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_user":{"version":0,"block":{"attributes":{"about_me":{"type":"string","description":"A freeform field for the user to describe themselves","description_kind":"plain","computed":true},"account_enabled":{"type":"bool","description":"Whether or not the account should be enabled","description_kind":"plain","optional":true},"age_group":{"type":"string","description":"The age group of the user","description_kind":"plain","optional":true},"business_phones":{"type":["list","string"],"description":"The telephone numbers for the user. Only one number can be set for this property. Read-only for users synced with Azure AD Connect","description_kind":"plain","optional":true,"computed":true},"city":{"type":"string","description":"The city in which the user is located","description_kind":"plain","optional":true},"company_name":{"type":"string","description":"The company name which the user is associated. This property can be useful for describing the company that an external user comes from","description_kind":"plain","optional":true},"consent_provided_for_minor":{"type":"string","description":"Whether consent has been obtained for minors","description_kind":"plain","optional":true},"cost_center":{"type":"string","description":"The cost center associated with the user.","description_kind":"plain","optional":true},"country":{"type":"string","description":"The country/region in which the user is located, e.g. `US` or `UK`","description_kind":"plain","optional":true},"creation_type":{"type":"string","description":"Indicates whether the user account was created as a regular school or work account (`null`), an external account (`Invitation`), a local account for an Azure Active Directory B2C tenant (`LocalAccount`) or self-service sign-up using email verification (`EmailVerified`)","description_kind":"plain","computed":true},"department":{"type":"string","description":"The name for the department in which the user works","description_kind":"plain","optional":true},"disable_password_expiration":{"type":"bool","description":"Whether the users password is exempt from expiring","description_kind":"plain","optional":true},"disable_strong_password":{"type":"bool","description":"Whether the user is allowed weaker passwords than the default policy to be specified.","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The name to display in the address book for the user","description_kind":"plain","required":true},"division":{"type":"string","description":"The name of the division in which the user works.","description_kind":"plain","optional":true},"employee_id":{"type":"string","description":"The employee identifier assigned to the user by the organisation","description_kind":"plain","optional":true},"employee_type":{"type":"string","description":"Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor.","description_kind":"plain","optional":true},"external_user_state":{"type":"string","description":"For an external user invited to the tenant, this property represents the invited user's invitation status","description_kind":"plain","computed":true},"fax_number":{"type":"string","description":"The fax number of the user","description_kind":"plain","optional":true},"force_password_change":{"type":"bool","description":"Whether the user is forced to change the password during the next sign-in. Only takes effect when also changing the password","description_kind":"plain","optional":true},"given_name":{"type":"string","description":"The given name (first name) of the user","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"im_addresses":{"type":["list","string"],"description":"The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user","description_kind":"plain","computed":true},"job_title":{"type":"string","description":"The user’s job title","description_kind":"plain","optional":true},"mail":{"type":"string","description":"The SMTP address for the user. Cannot be unset.","description_kind":"plain","optional":true,"computed":true},"mail_nickname":{"type":"string","description":"The mail alias for the user. Defaults to the user name part of the user principal name (UPN)","description_kind":"plain","optional":true,"computed":true},"manager_id":{"type":"string","description":"The object ID of the user's manager","description_kind":"plain","optional":true},"mobile_phone":{"type":"string","description":"The primary cellular telephone number for the user","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the user","description_kind":"plain","computed":true},"office_location":{"type":"string","description":"The office location in the user's place of business","description_kind":"plain","optional":true},"onpremises_distinguished_name":{"type":"string","description":"The on-premise Active Directory distinguished name (DN) of the user","description_kind":"plain","computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premise FQDN (i.e. dnsDomainName) of the user","description_kind":"plain","computed":true},"onpremises_immutable_id":{"type":"string","description":"The value used to associate an on-premise Active Directory user account with their Azure AD user object. This must be specified if you are using a federated domain for the user's `user_principal_name` property when creating a new user account","description_kind":"plain","optional":true,"computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premise SAM account name of the user","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premise security identifier (SID) of the user","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this user is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"onpremises_user_principal_name":{"type":"string","description":"The on-premise user principal name of the user","description_kind":"plain","computed":true},"other_mails":{"type":["set","string"],"description":"Additional email addresses for the user","description_kind":"plain","optional":true},"password":{"type":"string","description":"The password for the user. The password must satisfy minimum requirements as specified by the password policy. The maximum length is 256 characters. This property is required when creating a new user","description_kind":"plain","optional":true,"computed":true,"sensitive":true},"postal_code":{"type":"string","description":"The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code","description_kind":"plain","optional":true},"preferred_language":{"type":"string","description":"The user's preferred language, in ISO 639-1 notation","description_kind":"plain","optional":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the user that direct to the same mailbox","description_kind":"plain","computed":true},"show_in_address_list":{"type":"bool","description":"Whether or not the Outlook global address list should include this user","description_kind":"plain","optional":true},"state":{"type":"string","description":"The state or province in the user's address","description_kind":"plain","optional":true},"street_address":{"type":"string","description":"The street address of the user's place of business","description_kind":"plain","optional":true},"surname":{"type":"string","description":"The user's surname (family name or last name)","description_kind":"plain","optional":true},"usage_location":{"type":"string","description":"The usage location of the user. Required for users that will be assigned licenses due to legal requirement to check for availability of services in countries. The usage location is a two letter country code (ISO standard 3166). Examples include: `NO`, `JP`, and `GB`. Cannot be reset to null once set","description_kind":"plain","optional":true},"user_principal_name":{"type":"string","description":"The user principal name (UPN) of the user","description_kind":"plain","required":true},"user_type":{"type":"string","description":"The user type in the directory. Possible values are `Guest` or `Member`","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_user_flow_attribute":{"version":0,"block":{"attributes":{"attribute_type":{"type":"string","description":"The type of the user flow attribute","description_kind":"plain","computed":true},"data_type":{"type":"string","description":"The data type of the user flow attribute","description_kind":"plain","required":true},"description":{"type":"string","description":"The description of the user flow attribute that is shown to the user at the time of sign-up","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the user flow attribute.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"azuread_access_package":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The ID of the Catalog this access package is in","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the access package","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the access package","description_kind":"plain","optional":true,"computed":true},"hidden":{"type":"bool","description":"Whether the access package is hidden from the requestor","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The ID of this access package","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the access package catalog","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the access package catalog","description_kind":"plain","optional":true,"computed":true},"externally_visible":{"type":"bool","description":"Whether the access packages in this catalog can be requested by users outside the tenant","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The ID of this access package catalog","description_kind":"plain","optional":true,"computed":true},"published":{"type":"bool","description":"Whether the access packages in this catalog are available for management","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog_role":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the catalog role","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the catalog role","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the catalog role","description_kind":"plain","optional":true,"computed":true},"template_id":{"type":"string","description":"The object ID of the template associated with the catalog role","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description for the administrative unit","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the administrative unit","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"members":{"type":["list","string"],"description":"A list of object IDs of members who are be present in this administrative unit.","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","optional":true,"computed":true},"visibility":{"type":"string","description":"Whether the administrative unit and its members are hidden or publicly viewable in the directory","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application":{"version":1,"block":{"attributes":{"api":{"type":["list",["object",{"known_client_applications":["list","string"],"mapped_claims_enabled":"bool","oauth2_permission_scopes":["list",["object",{"admin_consent_description":"string","admin_consent_display_name":"string","enabled":"bool","id":"string","type":"string","user_consent_description":"string","user_consent_display_name":"string","value":"string"}]],"requested_access_token_version":"number"}]],"description_kind":"plain","computed":true},"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"app_roles":{"type":["list",["object",{"allowed_member_types":["list","string"],"description":"string","display_name":"string","enabled":"bool","id":"string","value":"string"}]],"description":"List of app roles published by the application","description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The Application ID (also called Client ID)","description_kind":"plain","optional":true,"computed":true},"description":{"type":"string","description":"Description of the application as shown to end users","description_kind":"plain","computed":true},"device_only_auth_enabled":{"type":"bool","description":"Specifies whether this application supports device authentication without a user.","description_kind":"plain","computed":true},"disabled_by_microsoft":{"type":"string","description":"Whether Microsoft has disabled the registered application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application","description_kind":"plain","optional":true,"computed":true},"fallback_public_client_enabled":{"type":"bool","description":"The fallback application type as public client, such as an installed application running on a mobile device","description_kind":"plain","computed":true},"feature_tags":{"type":["list",["object",{"custom_single_sign_on":"bool","enterprise":"bool","gallery":"bool","hide":"bool"}]],"description":"Block of features configured for this application using tags","description_kind":"plain","computed":true},"group_membership_claims":{"type":["list","string"],"description":"The `groups` claim issued in a user or OAuth 2.0 access token that the app expects","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifier_uris":{"type":["list","string"],"description":"A list of user-defined URI(s) that uniquely identify a Web application within it's Azure AD tenant, or within a verified custom domain if the application is multi-tenant","description_kind":"plain","computed":true},"logo_url":{"type":"string","description":"CDN URL to the application's logo","description_kind":"plain","computed":true},"marketing_url":{"type":"string","description":"URL of the application's marketing page","description_kind":"plain","computed":true},"notes":{"type":"string","description":"User-specified notes relevant for the management of the application","description_kind":"plain","computed":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_post_response_required":{"type":"bool","description":"Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests.","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The application's object ID","description_kind":"plain","optional":true,"computed":true},"optional_claims":{"type":["list",["object",{"access_token":["list",["object",{"additional_properties":["list","string"],"essential":"bool","name":"string","source":"string"}]],"id_token":["list",["object",{"additional_properties":["list","string"],"essential":"bool","name":"string","source":"string"}]],"saml2_token":["list",["object",{"additional_properties":["list","string"],"essential":"bool","name":"string","source":"string"}]]}]],"description_kind":"plain","computed":true},"owners":{"type":["list","string"],"description":"A list of object IDs of principals that are assigned ownership of the application","description_kind":"plain","computed":true},"privacy_statement_url":{"type":"string","description":"URL of the application's privacy statement","description_kind":"plain","computed":true},"public_client":{"type":["list",["object",{"redirect_uris":["list","string"]}]],"description_kind":"plain","computed":true},"publisher_domain":{"type":"string","description":"The verified publisher domain for the application","description_kind":"plain","computed":true},"required_resource_access":{"type":["list",["object",{"resource_access":["list",["object",{"id":"string","type":"string"}]],"resource_app_id":"string"}]],"description_kind":"plain","computed":true},"service_management_reference":{"type":"string","description":"References application or service contact information from a Service or Asset Management database","description_kind":"plain","computed":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the current application","description_kind":"plain","computed":true},"single_page_application":{"type":["list",["object",{"redirect_uris":["list","string"]}]],"description_kind":"plain","computed":true},"support_url":{"type":"string","description":"URL of the application's support page","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"A set of tags applied to the application","description_kind":"plain","computed":true},"terms_of_service_url":{"type":"string","description":"URL of the application's terms of service statement","description_kind":"plain","computed":true},"web":{"type":["list",["object",{"homepage_url":"string","implicit_grant":["list",["object",{"access_token_issuance_enabled":"bool","id_token_issuance_enabled":"bool"}]],"logout_url":"string","redirect_uris":["list","string"]}]],"description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_published_app_ids":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["map","string"],"description":"A mapping of application names and application IDs","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_template":{"version":0,"block":{"attributes":{"categories":{"type":["list","string"],"description":"List of categories for this templated application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application template","description_kind":"plain","optional":true,"computed":true},"homepage_url":{"type":"string","description":"Home page URL of the templated application","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"logo_url":{"type":"string","description":"URL to retrieve the logo for this templated application","description_kind":"plain","computed":true},"publisher":{"type":"string","description":"Name of the publisher for this templated application","description_kind":"plain","computed":true},"supported_provisioning_types":{"type":["list","string"],"description":"The provisioning modes supported by this templated application","description_kind":"plain","computed":true},"supported_single_sign_on_modes":{"type":["list","string"],"description":"The single sign on modes supported by this templated application","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"The application template's ID","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_client_config":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description":"The client ID (application ID) linked to the authenticated principal, or the application used for delegated authentication","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the authenticated principal","description_kind":"plain","computed":true},"tenant_id":{"type":"string","description":"The tenant ID of the authenticated principal","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_object":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the principal","description_kind":"plain","required":true},"type":{"type":"string","description":"The OData type of the principal","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the role templates","description_kind":"plain","computed":true},"role_templates":{"type":["list",["object",{"description":"string","display_name":"string","object_id":"string"}]],"description":"A list of role templates","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_roles":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the roles","description_kind":"plain","computed":true},"roles":{"type":["list",["object",{"description":"string","display_name":"string","object_id":"string","template_id":"string"}]],"description":"A list of roles","description_kind":"plain","computed":true},"template_ids":{"type":["list","string"],"description":"The template IDs of the roles","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_domains":{"version":0,"block":{"attributes":{"admin_managed":{"type":"bool","description":"Set to `true` to only return domains whose DNS is managed by Microsoft 365","description_kind":"plain","optional":true},"domains":{"type":["list",["object",{"admin_managed":"bool","authentication_type":"string","default":"bool","domain_name":"string","initial":"bool","root":"bool","supported_services":["list","string"],"verified":"bool"}]],"description":"A list of tenant domains","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"include_unverified":{"type":"bool","description":"Set to `true` if unverified Azure AD domains should be included","description_kind":"plain","optional":true},"only_default":{"type":"bool","description":"Set to `true` to only return the default domain","description_kind":"plain","optional":true},"only_initial":{"type":"bool","description":"Set to `true` to only return the initial domain, which is your primary Azure Active Directory tenant domain","description_kind":"plain","optional":true},"only_root":{"type":"bool","description":"Set to `true` to only return verified root domains. Excludes subdomains and unverified domains","description_kind":"plain","optional":true},"supports_services":{"type":["list","string"],"description":"A list of supported services that must be supported by a domain","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_group":{"version":0,"block":{"attributes":{"assignable_to_role":{"type":"bool","description":"Indicates whether this group can be assigned to an Azure Active Directory role","description_kind":"plain","computed":true},"auto_subscribe_new_members":{"type":"bool","description":"Indicates whether new members added to the group will be auto-subscribed to receive email notifications.","description_kind":"plain","computed":true},"behaviors":{"type":["list","string"],"description":"The group behaviors for a Microsoft 365 group","description_kind":"plain","computed":true},"description":{"type":"string","description":"The optional description of the group","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the group","description_kind":"plain","optional":true,"computed":true},"dynamic_membership":{"type":["list",["object",{"enabled":"bool","rule":"string"}]],"description":"An optional block to configure dynamic membership for the group. Cannot be used with `members`","description_kind":"plain","computed":true},"external_senders_allowed":{"type":"bool","description":"Indicates whether people external to the organization can send messages to the group.","description_kind":"plain","computed":true},"hide_from_address_lists":{"type":"bool","description":"Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups.","description_kind":"plain","computed":true},"hide_from_outlook_clients":{"type":"bool","description":"Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mail":{"type":"string","description":"The SMTP address for the group","description_kind":"plain","computed":true},"mail_enabled":{"type":"bool","description":"Whether the group is mail-enabled","description_kind":"plain","optional":true,"computed":true},"mail_nickname":{"type":"string","description":"The mail alias for the group, unique in the organisation","description_kind":"plain","computed":true},"members":{"type":["list","string"],"description":"The object IDs of the group members","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the group","description_kind":"plain","optional":true,"computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premises FQDN, also called dnsDomainName, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_group_type":{"type":"string","description":"Indicates the target on-premise group type the group will be written back as","description_kind":"plain","computed":true},"onpremises_netbios_name":{"type":"string","description":"The on-premises NetBIOS name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premises SAM account name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premises security identifier (SID), synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this group is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"owners":{"type":["list","string"],"description":"The object IDs of the group owners","description_kind":"plain","computed":true},"preferred_language":{"type":"string","description":"The preferred language for a Microsoft 365 group, in ISO 639-1 notation","description_kind":"plain","computed":true},"provisioning_options":{"type":["list","string"],"description":"The group provisioning options for a Microsoft 365 group","description_kind":"plain","computed":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the group that direct to the same group mailbox","description_kind":"plain","computed":true},"security_enabled":{"type":"bool","description":"Whether the group is a security group","description_kind":"plain","optional":true,"computed":true},"theme":{"type":"string","description":"The colour theme for a Microsoft 365 group","description_kind":"plain","computed":true},"types":{"type":["list","string"],"description":"A list of group types configured for the group. The only supported type is `Unified`, which specifies a Microsoft 365 group","description_kind":"plain","computed":true},"visibility":{"type":"string","description":"Specifies the group join policy and group content visibility","description_kind":"plain","computed":true},"writeback_enabled":{"type":"bool","description":"Whether this group is synced from Azure AD to the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_groups":{"version":0,"block":{"attributes":{"display_name_prefix":{"type":"string","description":"Common display name prefix of the groups","description_kind":"plain","optional":true,"computed":true},"display_names":{"type":["list","string"],"description":"The display names of the groups","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ignore_missing":{"type":"bool","description":"Ignore missing groups and return groups that were found. The data source will still fail if no groups are found","description_kind":"plain","optional":true},"mail_enabled":{"type":"bool","description":"Whether the groups are mail-enabled","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the groups","description_kind":"plain","optional":true,"computed":true},"return_all":{"type":"bool","description":"Retrieve all groups with no filter","description_kind":"plain","optional":true},"security_enabled":{"type":"bool","description":"Whether the groups are security-enabled","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_named_location":{"version":0,"block":{"attributes":{"country":{"type":["list",["object",{"countries_and_regions":["list","string"],"include_unknown_countries_and_regions":"bool"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":["list",["object",{"ip_ranges":["list","string"],"trusted":"bool"}]],"description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal":{"version":0,"block":{"attributes":{"account_enabled":{"type":"bool","description":"Whether or not the service principal account is enabled","description_kind":"plain","computed":true},"alternative_names":{"type":["list","string"],"description":"A list of alternative names, used to retrieve service principals by subscription, identify resource group and full resource ids for managed identities","description_kind":"plain","computed":true},"app_role_assignment_required":{"type":"bool","description":"Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application","description_kind":"plain","computed":true},"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"app_roles":{"type":["list",["object",{"allowed_member_types":["list","string"],"description":"string","display_name":"string","enabled":"bool","id":"string","value":"string"}]],"description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The application ID (client ID) of the application associated with this service principal","description_kind":"plain","optional":true,"computed":true},"application_tenant_id":{"type":"string","description":"The tenant ID where the associated application is registered","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the service principal provided for internal end-users","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the application associated with this service principal","description_kind":"plain","optional":true,"computed":true},"feature_tags":{"type":["list",["object",{"custom_single_sign_on":"bool","enterprise":"bool","gallery":"bool","hide":"bool"}]],"description":"Block of features configured for this service principal using tags","description_kind":"plain","computed":true},"features":{"type":["list",["object",{"custom_single_sign_on_app":"bool","enterprise_application":"bool","gallery_application":"bool","visible_to_users":"bool"}]],"description":"Block of features configured for this service principal using tags","description_kind":"plain","deprecated":true,"computed":true},"homepage_url":{"type":"string","description":"Home page or landing page of the application","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login_url":{"type":"string","description":"The URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to launch the application from Microsoft 365 or the Azure AD My Apps","description_kind":"plain","computed":true},"logout_url":{"type":"string","description":"The URL that will be used by Microsoft's authorization service to sign out a user using front-channel, back-channel or SAML logout protocols","description_kind":"plain","computed":true},"notes":{"type":"string","description":"Free text field to capture information about the service principal, typically used for operational purposes","description_kind":"plain","computed":true},"notification_email_addresses":{"type":["list","string"],"description":"List of email addresses where Azure AD sends a notification when the active certificate is near the expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery applications","description_kind":"plain","computed":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_permission_scopes":{"type":["list",["object",{"admin_consent_description":"string","admin_consent_display_name":"string","enabled":"bool","id":"string","type":"string","user_consent_description":"string","user_consent_display_name":"string","value":"string"}]],"description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the service principal","description_kind":"plain","optional":true,"computed":true},"preferred_single_sign_on_mode":{"type":"string","description":"The single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to launch the application from Microsoft 365 or the Azure AD My Apps","description_kind":"plain","computed":true},"redirect_uris":{"type":["list","string"],"description":"The URLs where user tokens are sent for sign-in with the associated application, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent for the associated application","description_kind":"plain","computed":true},"saml_metadata_url":{"type":"string","description":"The URL where the service exposes SAML metadata for federation","description_kind":"plain","computed":true},"saml_single_sign_on":{"type":["list",["object",{"relay_state":"string"}]],"description":"Settings related to SAML single sign-on","description_kind":"plain","computed":true},"service_principal_names":{"type":["list","string"],"description":"A list of identifier URI(s), copied over from the associated application","description_kind":"plain","computed":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the associated application","description_kind":"plain","computed":true},"tags":{"type":["list","string"],"description":"A set of tags to apply to the service principal","description_kind":"plain","computed":true},"type":{"type":"string","description":"Identifies whether the service principal represents an application or a managed identity","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principals":{"version":0,"block":{"attributes":{"application_ids":{"type":["list","string"],"description":"The application IDs (client IDs) of the applications associated with the service principals","description_kind":"plain","optional":true,"computed":true},"display_names":{"type":["list","string"],"description":"The display names of the applications associated with the service principals","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ignore_missing":{"type":"bool","description":"Ignore missing service principals and return the service principals that were found. The data source will still fail if no service principals are found","description_kind":"plain","optional":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the service principals","description_kind":"plain","optional":true,"computed":true},"return_all":{"type":"bool","description":"Fetch all service principals with no filter and return all that were found. The data source will still fail if no service principals are found.","description_kind":"plain","optional":true},"service_principals":{"type":["list",["object",{"account_enabled":"bool","app_role_assignment_required":"bool","application_id":"string","application_tenant_id":"string","display_name":"string","object_id":"string","preferred_single_sign_on_mode":"string","saml_metadata_url":"string","service_principal_names":["list","string"],"sign_in_audience":"string","tags":["list","string"],"type":"string"}]],"description":"A list of service_principals","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_user":{"version":0,"block":{"attributes":{"account_enabled":{"type":"bool","description":"Whether or not the account is enabled","description_kind":"plain","computed":true},"age_group":{"type":"string","description":"The age group of the user","description_kind":"plain","computed":true},"business_phones":{"type":["list","string"],"description":"The telephone numbers for the user","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city in which the user is located","description_kind":"plain","computed":true},"company_name":{"type":"string","description":"The company name which the user is associated. This property can be useful for describing the company that an external user comes from","description_kind":"plain","computed":true},"consent_provided_for_minor":{"type":"string","description":"Whether consent has been obtained for minors","description_kind":"plain","computed":true},"cost_center":{"type":"string","description":"The cost center associated with the user.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The country/region in which the user is located, e.g. `US` or `UK`","description_kind":"plain","computed":true},"creation_type":{"type":"string","description":"Indicates whether the user account was created as a regular school or work account (`null`), an external account (`Invitation`), a local account for an Azure Active Directory B2C tenant (`LocalAccount`) or self-service sign-up using email verification (`EmailVerified`)","description_kind":"plain","computed":true},"department":{"type":"string","description":"The name for the department in which the user works","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the user","description_kind":"plain","computed":true},"division":{"type":"string","description":"The name of the division in which the user works.","description_kind":"plain","computed":true},"employee_id":{"type":"string","description":"The employee identifier assigned to the user by the organisation","description_kind":"plain","optional":true,"computed":true},"employee_type":{"type":"string","description":"Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor.","description_kind":"plain","computed":true},"external_user_state":{"type":"string","description":"For an external user invited to the tenant, this property represents the invited user's invitation status","description_kind":"plain","computed":true},"fax_number":{"type":"string","description":"The fax number of the user","description_kind":"plain","computed":true},"given_name":{"type":"string","description":"The given name (first name) of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"im_addresses":{"type":["list","string"],"description":"The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user","description_kind":"plain","computed":true},"job_title":{"type":"string","description":"The user’s job title","description_kind":"plain","computed":true},"mail":{"type":"string","description":"The SMTP address for the user","description_kind":"plain","optional":true,"computed":true},"mail_nickname":{"type":"string","description":"The email alias of the user","description_kind":"plain","optional":true,"computed":true},"manager_id":{"type":"string","description":"The object ID of the user's manager","description_kind":"plain","computed":true},"mobile_phone":{"type":"string","description":"The primary cellular telephone number for the user","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the user","description_kind":"plain","optional":true,"computed":true},"office_location":{"type":"string","description":"The office location in the user's place of business","description_kind":"plain","computed":true},"onpremises_distinguished_name":{"type":"string","description":"The on-premise Active Directory distinguished name (DN) of the user","description_kind":"plain","computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premise FQDN (i.e. dnsDomainName) of the user","description_kind":"plain","computed":true},"onpremises_immutable_id":{"type":"string","description":"The value used to associate an on-premise Active Directory user account with their Azure AD user object","description_kind":"plain","computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premise SAM account name of the user","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premise security identifier (SID) of the user","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this user is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"onpremises_user_principal_name":{"type":"string","description":"The on-premise user principal name of the user","description_kind":"plain","computed":true},"other_mails":{"type":["list","string"],"description":"Additional email addresses for the user","description_kind":"plain","computed":true},"postal_code":{"type":"string","description":"The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code","description_kind":"plain","computed":true},"preferred_language":{"type":"string","description":"The user's preferred language, in ISO 639-1 notation","description_kind":"plain","computed":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the user that direct to the same mailbox","description_kind":"plain","computed":true},"show_in_address_list":{"type":"bool","description":"Whether or not the Outlook global address list should include this user","description_kind":"plain","computed":true},"state":{"type":"string","description":"The state or province in the user's address","description_kind":"plain","computed":true},"street_address":{"type":"string","description":"The street address of the user's place of business","description_kind":"plain","computed":true},"surname":{"type":"string","description":"The user's surname (family name or last name)","description_kind":"plain","computed":true},"usage_location":{"type":"string","description":"The usage location of the user","description_kind":"plain","computed":true},"user_principal_name":{"type":"string","description":"The user principal name (UPN) of the user","description_kind":"plain","optional":true,"computed":true},"user_type":{"type":"string","description":"The user type in the directory. Possible values are `Guest` or `Member`","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_users":{"version":0,"block":{"attributes":{"employee_ids":{"type":["list","string"],"description":"The employee identifier assigned to the user by the organisation","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ignore_missing":{"type":"bool","description":"Ignore missing users and return users that were found. The data source will still fail if no users are found","description_kind":"plain","optional":true},"mail_nicknames":{"type":["list","string"],"description":"The email aliases of the users","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the users","description_kind":"plain","optional":true,"computed":true},"return_all":{"type":"bool","description":"Fetch all users with no filter and return all that were found. The data source will still fail if no users are found.","description_kind":"plain","optional":true},"user_principal_names":{"type":["list","string"],"description":"The user principal names (UPNs) of the users","description_kind":"plain","optional":true,"computed":true},"users":{"type":["list",["object",{"account_enabled":"bool","display_name":"string","employee_id":"string","mail":"string","mail_nickname":"string","object_id":"string","onpremises_immutable_id":"string","onpremises_sam_account_name":"string","onpremises_user_principal_name":"string","usage_location":"string","user_principal_name":"string"}]],"description":"A list of users","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/hashicorp/azuread":{"provider":{"version":0,"block":{"attributes":{"client_certificate":{"type":"string","description":"Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate","description_kind":"plain","optional":true},"client_certificate_password":{"type":"string","description":"The password to decrypt the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate","description_kind":"plain","optional":true},"client_certificate_path":{"type":"string","description":"The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"The Client ID which should be used for service principal authentication","description_kind":"plain","optional":true},"client_id_file_path":{"type":"string","description":"The path to a file containing the Client ID which should be used for service principal authentication","description_kind":"plain","optional":true},"client_secret":{"type":"string","description":"The application password to use when authenticating as a Service Principal using a Client Secret","description_kind":"plain","optional":true},"client_secret_file_path":{"type":"string","description":"The path to a file containing the application password to use when authenticating as a Service Principal using a Client Secret","description_kind":"plain","optional":true},"disable_terraform_partner_id":{"type":"bool","description":"Disable the Terraform Partner ID, which is used if a custom `partner_id` isn't specified","description_kind":"plain","optional":true},"environment":{"type":"string","description":"The cloud environment which should be used. Possible values are: `global` (also `public`), `usgovernmentl4` (also `usgovernment`), `usgovernmentl5` (also `dod`), and `china`. Defaults to `global`","description_kind":"plain","optional":true},"metadata_host":{"type":"string","description":"The Hostname which should be used for the Azure Metadata Service.","description_kind":"plain","optional":true},"msi_endpoint":{"type":"string","description":"The path to a custom endpoint for Managed Identity - in most circumstances this should be detected automatically","description_kind":"plain","optional":true},"oidc_request_token":{"type":"string","description":"The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"oidc_request_url":{"type":"string","description":"The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"oidc_token":{"type":"string","description":"The ID token for use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"oidc_token_file_path":{"type":"string","description":"The path to a file containing an ID token for use when authenticating as a Service Principal using OpenID Connect.","description_kind":"plain","optional":true},"partner_id":{"type":"string","description":"A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution","description_kind":"plain","optional":true},"tenant_id":{"type":"string","description":"The Tenant ID which should be used. Works with all authentication methods except Managed Identity","description_kind":"plain","optional":true},"use_cli":{"type":"bool","description":"Allow Azure CLI to be used for Authentication","description_kind":"plain","optional":true},"use_msi":{"type":"bool","description":"Allow Managed Identity to be used for Authentication","description_kind":"plain","optional":true},"use_oidc":{"type":"bool","description":"Allow OpenID Connect to be used for authentication","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"azuread_access_package":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The ID of the Catalog this access package will be created in","description_kind":"plain","required":true},"description":{"type":"string","description":"The description of the access package","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the access package","description_kind":"plain","required":true},"hidden":{"type":"bool","description":"Whether the access package is hidden from the requestor","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_assignment_policy":{"version":0,"block":{"attributes":{"access_package_id":{"type":"string","description":"The ID of the access package that will contain the policy","description_kind":"plain","required":true},"description":{"type":"string","description":"The description of the policy","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the policy","description_kind":"plain","required":true},"duration_in_days":{"type":"number","description":"How many days this assignment is valid for","description_kind":"plain","optional":true},"expiration_date":{"type":"string","description":"The date that this assignment expires, formatted as an RFC3339 date string in UTC (e.g. 2018-01-01T01:02:03Z)","description_kind":"plain","optional":true},"extension_enabled":{"type":"bool","description":"When enabled, users will be able to request extension of their access to this package before their access expires","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"approval_settings":{"nesting_mode":"list","block":{"attributes":{"approval_required":{"type":"bool","description":"Whether an approval is required","description_kind":"plain","optional":true},"approval_required_for_extension":{"type":"bool","description":"Whether an approval is required to grant extension. Same approval settings used to approve initial access will apply","description_kind":"plain","optional":true},"requestor_justification_required":{"type":"bool","description":"Whether requestor are required to provide a justification to request an access package. Justification is visible to other approvers and the requestor","description_kind":"plain","optional":true}},"block_types":{"approval_stage":{"nesting_mode":"list","block":{"attributes":{"alternative_approval_enabled":{"type":"bool","description":"If no action taken, forward to alternate approvers?","description_kind":"plain","optional":true},"approval_timeout_in_days":{"type":"number","description":"Decision must be made in how many days? If a request is not approved within this time period after it is made, it will be automatically rejected","description_kind":"plain","required":true},"approver_justification_required":{"type":"bool","description":"Whether an approver must provide a justification for their decision. Justification is visible to other approvers and the requestor","description_kind":"plain","optional":true},"enable_alternative_approval_in_days":{"type":"number","description":"Forward to alternate approver(s) after how many days?","description_kind":"plain","optional":true}},"block_types":{"alternative_approver":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"If escalation is enabled and the primary approvers do not respond before the escalation time, the escalationApprovers are the users who will be asked to approve requests. This can be a collection of singleUser, groupMembers, requestorManager, internalSponsors and externalSponsors. When creating or updating a policy, if there are no escalation approvers, or escalation approvers are not required for the stage, the value of this property should be an empty collection","description_kind":"plain"}},"primary_approver":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"The users who will be asked to approve requests. A collection of singleUser, groupMembers, requestorManager, internalSponsors and externalSponsors. When creating or updating a policy, include at least one userSet in this collection","description_kind":"plain"}}},"description":"The process to obtain an approval","description_kind":"plain"}}},"description":"Settings of whether approvals are required and how they are obtained","description_kind":"plain"},"max_items":1},"assignment_review_settings":{"nesting_mode":"list","block":{"attributes":{"access_recommendation_enabled":{"type":"bool","description":"Whether to show Show reviewer decision helpers. If enabled, system recommendations based on users' access information will be shown to the reviewers. The reviewer will be recommended to approve the review if the user has signed-in at least once during the last 30 days. The reviewer will be recommended to deny the review if the user has not signed-in during the last 30 days","description_kind":"plain","optional":true},"access_review_timeout_behavior":{"type":"string","description":"What actions the system takes if reviewers don't respond in time","description_kind":"plain","optional":true},"approver_justification_required":{"type":"bool","description":"Whether a reviewer need provide a justification for their decision. Justification is visible to other reviewers and the requestor","description_kind":"plain","optional":true},"duration_in_days":{"type":"number","description":"How many days each occurrence of the access review series will run","description_kind":"plain","optional":true},"enabled":{"type":"bool","description":"Whether to enable assignment review","description_kind":"plain","optional":true},"review_frequency":{"type":"string","description":"This will determine how often the access review campaign runs","description_kind":"plain","optional":true},"review_type":{"type":"string","description":"Self review or specific reviewers","description_kind":"plain","optional":true},"starting_on":{"type":"string","description":"This is the date the access review campaign will start on, formatted as an RFC3339 date string in UTC(e.g. 2018-01-01T01:02:03Z), default is now. Once an access review has been created, you cannot update its start date","description_kind":"plain","optional":true}},"block_types":{"reviewer":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"If the reviewerType is Reviewers, this collection specifies the users who will be reviewers, either by ID or as members of a group, using a collection of singleUser and groupMembers","description_kind":"plain"}}},"description":"The settings of whether assignment review is needed and how it's conducted","description_kind":"plain"},"max_items":1},"question":{"nesting_mode":"list","block":{"attributes":{"required":{"type":"bool","description":"Whether this question is required","description_kind":"plain","optional":true},"sequence":{"type":"number","description":"The sequence number of this question","description_kind":"plain","optional":true}},"block_types":{"choice":{"nesting_mode":"list","block":{"attributes":{"actual_value":{"type":"string","description":"The actual value of this choice","description_kind":"plain","required":true}},"block_types":{"display_value":{"nesting_mode":"list","block":{"attributes":{"default_text":{"type":"string","description":"The default text of this question","description_kind":"plain","required":true}},"block_types":{"localized_text":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The localized content of this question","description_kind":"plain","required":true},"language_code":{"type":"string","description":"The language code of this question content","description_kind":"plain","required":true}},"description":"The localized text of this question","description_kind":"plain"}}},"description":"The display text of this choice","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Configuration of a choice to the question","description_kind":"plain"}},"text":{"nesting_mode":"list","block":{"attributes":{"default_text":{"type":"string","description":"The default text of this question","description_kind":"plain","required":true}},"block_types":{"localized_text":{"nesting_mode":"list","block":{"attributes":{"content":{"type":"string","description":"The localized content of this question","description_kind":"plain","required":true},"language_code":{"type":"string","description":"The language code of this question content","description_kind":"plain","required":true}},"description":"The localized text of this question","description_kind":"plain"}}},"description":"The content of this question","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"One or more questions to the requestor","description_kind":"plain"}},"requestor_settings":{"nesting_mode":"list","block":{"attributes":{"requests_accepted":{"type":"bool","description":"Whether to accept requests now, when disabled, no new requests can be made using this policy","description_kind":"plain","optional":true},"scope_type":{"type":"string","description":"Specify the scopes of the requestors","description_kind":"plain","optional":true}},"block_types":{"requestor":{"nesting_mode":"list","block":{"attributes":{"backup":{"type":"bool","description":"For a user in an approval stage, this property indicates whether the user is a backup fallback approver","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the subject","description_kind":"plain","optional":true},"subject_type":{"type":"string","description":"Type of users","description_kind":"plain","required":true}},"description":"The users who are allowed to request on this policy, which can be singleUser, groupMembers, and connectedOrganizationMembers","description_kind":"plain"}}},"description":"This block configures the users who can request access","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the access package catalog","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the access package catalog","description_kind":"plain","required":true},"externally_visible":{"type":"bool","description":"Whether the access packages in this catalog can be requested by users outside the tenant","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"published":{"type":"bool","description":"Whether the access packages in this catalog are available for management","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog_role_assignment":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The unique ID of the access package catalog.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal_object_id":{"type":"string","description":"The object ID of the member principal","description_kind":"plain","required":true},"role_id":{"type":"string","description":"The object ID of the catalog role for this assignment","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_resource_catalog_association":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The unique ID of the access package catalog","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_origin_id":{"type":"string","description":"The unique identifier of the resource in the origin system. In the case of an Azure AD group, this is the identifier of the group","description_kind":"plain","required":true},"resource_origin_system":{"type":"string","description":"The type of the resource in the origin system, such as SharePointOnline, AadApplication or AadGroup","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_resource_package_association":{"version":0,"block":{"attributes":{"access_package_id":{"type":"string","description":"The ID of access package this resource association is configured to","description_kind":"plain","required":true},"access_type":{"type":"string","description":"The role of access type to the specified resource, valid values are `Member` and `Owner`","description_kind":"plain","optional":true},"catalog_resource_association_id":{"type":"string","description":"The ID of the access package catalog association","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description for the administrative unit","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name for the administrative unit","description_kind":"plain","required":true},"hidden_membership_enabled":{"type":"bool","description":"Whether the administrative unit and its members are hidden or publicly viewable in the directory","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"members":{"type":["set","string"],"description":"A set of object IDs of members who should be present in this administrative unit. Supported object types are Users or Groups","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","computed":true},"prevent_duplicate_names":{"type":"bool","description":"If `true`, will return an error if an existing administrative unit is found with the same name","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit_member":{"version":0,"block":{"attributes":{"administrative_unit_object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the member","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit_role_member":{"version":0,"block":{"attributes":{"administrative_unit_object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the member","description_kind":"plain","required":true},"role_object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_app_role_assignment":{"version":0,"block":{"attributes":{"app_role_id":{"type":"string","description":"The ID of the app role to be assigned","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal_display_name":{"type":"string","description":"The display name of the principal to which the app role is assigned","description_kind":"plain","computed":true},"principal_object_id":{"type":"string","description":"The object ID of the user, group or service principal to be assigned this app role","description_kind":"plain","required":true},"principal_type":{"type":"string","description":"The object type of the principal to which the app role is assigned","description_kind":"plain","computed":true},"resource_display_name":{"type":"string","description":"The display name of the application representing the resource","description_kind":"plain","computed":true},"resource_object_id":{"type":"string","description":"The object ID of the service principal representing the resource","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application":{"version":2,"block":{"attributes":{"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The Application ID (also called Client ID)","description_kind":"plain","deprecated":true,"computed":true},"client_id":{"type":"string","description":"The Client ID (also called Application ID)","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the application as shown to end users","description_kind":"plain","optional":true},"device_only_auth_enabled":{"type":"bool","description":"Specifies whether this application supports device authentication without a user.","description_kind":"plain","optional":true},"disabled_by_microsoft":{"type":"string","description":"Whether Microsoft has disabled the registered application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application","description_kind":"plain","required":true},"fallback_public_client_enabled":{"type":"bool","description":"Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI","description_kind":"plain","optional":true},"group_membership_claims":{"type":["set","string"],"description":"Configures the `groups` claim issued in a user or OAuth 2.0 access token that the app expects","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifier_uris":{"type":["set","string"],"description":"The user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant","description_kind":"plain","optional":true},"logo_image":{"type":"string","description":"Base64 encoded logo image in gif, png or jpeg format","description_kind":"plain","optional":true},"logo_url":{"type":"string","description":"CDN URL to the application's logo","description_kind":"plain","computed":true},"marketing_url":{"type":"string","description":"URL of the application's marketing page","description_kind":"plain","optional":true},"notes":{"type":"string","description":"User-specified notes relevant for the management of the application","description_kind":"plain","optional":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_post_response_required":{"type":"bool","description":"Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests.","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The application's object ID","description_kind":"plain","computed":true},"owners":{"type":["set","string"],"description":"A list of object IDs of principals that will be granted ownership of the application","description_kind":"plain","optional":true},"prevent_duplicate_names":{"type":"bool","description":"If `true`, will return an error if an existing application is found with the same name","description_kind":"plain","optional":true},"privacy_statement_url":{"type":"string","description":"URL of the application's privacy statement","description_kind":"plain","optional":true},"publisher_domain":{"type":"string","description":"The verified publisher domain for the application","description_kind":"plain","computed":true},"service_management_reference":{"type":"string","description":"References application or service contact information from a Service or Asset Management database","description_kind":"plain","optional":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the current application","description_kind":"plain","optional":true},"support_url":{"type":"string","description":"URL of the application's support page","description_kind":"plain","optional":true},"tags":{"type":["set","string"],"description":"A set of tags to apply to the application","description_kind":"plain","optional":true,"computed":true},"template_id":{"type":"string","description":"Unique ID of the application template from which this application is created","description_kind":"plain","optional":true,"computed":true},"terms_of_service_url":{"type":"string","description":"URL of the application's terms of service statement","description_kind":"plain","optional":true}},"block_types":{"api":{"nesting_mode":"list","block":{"attributes":{"known_client_applications":{"type":["set","string"],"description":"Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app","description_kind":"plain","optional":true},"mapped_claims_enabled":{"type":"bool","description":"Allows an application to use claims mapping without specifying a custom signing key","description_kind":"plain","optional":true},"requested_access_token_version":{"type":"number","description":"The access token version expected by this resource","description_kind":"plain","optional":true}},"block_types":{"oauth2_permission_scope":{"nesting_mode":"set","block":{"attributes":{"admin_consent_description":{"type":"string","description":"Delegated permission description that appears in all tenant-wide admin consent experiences, intended to be read by an administrator granting the permission on behalf of all users","description_kind":"plain","optional":true},"admin_consent_display_name":{"type":"string","description":"Display name for the delegated permission, intended to be read by an administrator granting the permission on behalf of all users","description_kind":"plain","optional":true},"enabled":{"type":"bool","description":"Determines if the permission scope is enabled","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique identifier of the delegated permission","description_kind":"plain","required":true},"type":{"type":"string","description":"Whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions","description_kind":"plain","optional":true},"user_consent_description":{"type":"string","description":"Delegated permission description that appears in the end user consent experience, intended to be read by a user consenting on their own behalf","description_kind":"plain","optional":true},"user_consent_display_name":{"type":"string","description":"Display name for the delegated permission that appears in the end user consent experience","description_kind":"plain","optional":true},"value":{"type":"string","description":"The value that is used for the `scp` claim in OAuth 2.0 access tokens","description_kind":"plain","optional":true}},"description":"One or more `oauth2_permission_scope` blocks to describe delegated permissions exposed by the web API represented by this application","description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"app_role":{"nesting_mode":"set","block":{"attributes":{"allowed_member_types":{"type":["set","string"],"description":"Specifies whether this app role definition can be assigned to users and groups by setting to `User`, or to other applications (that are accessing this application in a standalone scenario) by setting to `Application`, or to both","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the app role that appears when the role is being assigned and, if the role functions as an application permissions, during the consent experiences","description_kind":"plain","required":true},"display_name":{"type":"string","description":"Display name for the app role that appears during app role assignment and in consent experiences","description_kind":"plain","required":true},"enabled":{"type":"bool","description":"Determines if the app role is enabled","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique identifier of the app role","description_kind":"plain","required":true},"value":{"type":"string","description":"The value that is used for the `roles` claim in ID tokens and OAuth 2.0 access tokens that are authenticating an assigned service or user principal","description_kind":"plain","optional":true}},"description_kind":"plain"}},"feature_tags":{"nesting_mode":"list","block":{"attributes":{"custom_single_sign_on":{"type":"bool","description":"Whether this application represents a custom SAML application for linked service principals","description_kind":"plain","optional":true},"enterprise":{"type":"bool","description":"Whether this application represents an Enterprise Application for linked service principals","description_kind":"plain","optional":true},"gallery":{"type":"bool","description":"Whether this application represents a gallery application for linked service principals","description_kind":"plain","optional":true},"hide":{"type":"bool","description":"Whether this application is invisible to users in My Apps and Office 365 Launcher","description_kind":"plain","optional":true}},"description":"Block of features to configure for this application using tags","description_kind":"plain"}},"optional_claims":{"nesting_mode":"list","block":{"block_types":{"access_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"id_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"saml2_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"},"max_items":1},"public_client":{"nesting_mode":"list","block":{"attributes":{"redirect_uris":{"type":["set","string"],"description":"The URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"required_resource_access":{"nesting_mode":"set","block":{"attributes":{"resource_app_id":{"type":"string","description_kind":"plain","required":true}},"block_types":{"resource_access":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1}},"description_kind":"plain"}},"single_page_application":{"nesting_mode":"list","block":{"attributes":{"redirect_uris":{"type":["set","string"],"description":"The URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"web":{"nesting_mode":"list","block":{"attributes":{"homepage_url":{"type":"string","description":"Home page or landing page of the application","description_kind":"plain","optional":true},"logout_url":{"type":"string","description":"The URL that will be used by Microsoft's authorization service to sign out a user using front-channel, back-channel or SAML logout protocols","description_kind":"plain","optional":true},"redirect_uris":{"type":["set","string"],"description":"The URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent","description_kind":"plain","optional":true}},"block_types":{"implicit_grant":{"nesting_mode":"list","block":{"attributes":{"access_token_issuance_enabled":{"type":"bool","description":"Whether this web application can request an access token using OAuth 2.0 implicit flow","description_kind":"plain","optional":true},"id_token_issuance_enabled":{"type":"bool","description":"Whether this web application can request an ID token using OAuth 2.0 implicit flow","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"azuread_application_api_access":{"version":0,"block":{"attributes":{"api_client_id":{"type":"string","description":"The client ID of the API to which access is being granted","description_kind":"plain","required":true},"application_id":{"type":"string","description":"The resource ID of the application to which this API access is granted","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"role_ids":{"type":["set","string"],"description":"A set of role IDs to be granted to the application, as published by the API","description_kind":"plain","optional":true},"scope_ids":{"type":["set","string"],"description":"A set of scope IDs to be granted to the application, as published by the API","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_app_role":{"version":0,"block":{"attributes":{"allowed_member_types":{"type":["set","string"],"description":"Specifies whether this app role definition can be assigned to users and groups by setting to `User`, or to other applications (that are accessing this application in a standalone scenario) by setting to `Application`, or to both","description_kind":"plain","required":true},"application_id":{"type":"string","description":"The resource ID of the application to which this app role should be applied","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the app role that appears when the role is being assigned and, if the role functions as an application permissions, during the consent experiences","description_kind":"plain","required":true},"display_name":{"type":"string","description":"Display name for the app role that appears during app role assignment and in consent experiences","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"role_id":{"type":"string","description":"The unique identifier of the app role","description_kind":"plain","required":true},"value":{"type":"string","description":"The value that is used for the `roles` claim in ID tokens and OAuth access tokens that are authenticating an assigned service or user principal","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_certificate":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application for which this certificate should be created","description_kind":"plain","optional":true,"computed":true},"application_object_id":{"type":"string","description":"The object ID of the application for which this certificate should be created","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"encoding":{"type":"string","description":"Specifies the encoding used for the supplied certificate data","description_kind":"plain","optional":true},"end_date":{"type":"string","description":"The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If omitted, the API will decide a suitable expiry date, which is typically around 2 years from the start date","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the certificate is valid until, for example `240h` (10 days) or `2400h30m`","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this certificate. If omitted, a random UUID will be automatically generated","description_kind":"plain","optional":true,"computed":true},"start_date":{"type":"string","description":"The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date and time are use","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of key/certificate","description_kind":"plain","optional":true},"value":{"type":"string","description":"The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argument","description_kind":"plain","required":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_fallback_public_client":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which the fallback public client setting should be applied","description_kind":"plain","required":true},"enabled":{"type":"bool","description":"Specifies explicitly whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_federated_identity_credential":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application for which this federated identity credential should be created","description_kind":"plain","optional":true,"computed":true},"application_object_id":{"type":"string","description":"The object ID of the application for which this federated identity credential should be created","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"audiences":{"type":["list","string"],"description":"List of audiences that can appear in the external token. This specifies what should be accepted in the `aud` claim of incoming tokens.","description_kind":"plain","required":true},"credential_id":{"type":"string","description":"A UUID used to uniquely identify this federated identity credential","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the federated identity credential","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"A unique display name for the federated identity credential","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer":{"type":"string","description":"The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app.","description_kind":"plain","required":true},"subject":{"type":"string","description":"The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app.","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_from_template":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID for this application","description_kind":"plain","computed":true},"application_object_id":{"type":"string","description":"The object ID for this application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"The resource ID for this service principal","description_kind":"plain","computed":true},"service_principal_object_id":{"type":"string","description":"The object ID for this service principal","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"The UUID of the template to instantiate for this application","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_identifier_uri":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which the identifier URI should be added","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifier_uri":{"type":"string","description":"The user-defined URI that uniquely identifies an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_known_clients":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which this API access is granted","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"known_client_ids":{"type":["set","string"],"description":"A list of known client IDs, used for bundling consent if you have a solution that includes an API and a client application","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_optional_claims":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which these optional claims belong","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"access_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"id_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"saml2_token":{"nesting_mode":"list","block":{"attributes":{"additional_properties":{"type":["list","string"],"description":"List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim","description_kind":"plain","optional":true},"essential":{"type":"bool","description":"Whether the claim specified by the client is necessary to ensure a smooth authorization experience","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the optional claim","description_kind":"plain","required":true},"source":{"type":"string","description":"The source of the claim. If `source` is absent, the claim is a predefined optional claim. If `source` is `user`, the value of `name` is the extension property from the user object","description_kind":"plain","optional":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_owner":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which the owner should be added","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"owner_object_id":{"type":"string","description":"Object ID of the principal that will be granted ownership of the application","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_password":{"version":1,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application for which this password should be created","description_kind":"plain","optional":true,"computed":true},"application_object_id":{"type":"string","description":"The object ID of the application for which this password should be created","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"display_name":{"type":"string","description":"A display name for the password","description_kind":"plain","optional":true,"computed":true},"end_date":{"type":"string","description":"The end date until which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`)","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the password is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this password credential","description_kind":"plain","computed":true},"rotate_when_changed":{"type":["map","string"],"description":"Arbitrary map of values that, when changed, will trigger rotation of the password","description_kind":"plain","optional":true},"start_date":{"type":"string","description":"The start date from which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The password for this application, which is generated by Azure Active Directory","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_permission_scope":{"version":0,"block":{"attributes":{"admin_consent_description":{"type":"string","description":"Delegated permission description that appears in all tenant-wide admin consent experiences, intended to be read by an administrator granting the permission on behalf of all users","description_kind":"plain","required":true},"admin_consent_display_name":{"type":"string","description":"Display name for the delegated permission, intended to be read by an administrator granting the permission on behalf of all users","description_kind":"plain","required":true},"application_id":{"type":"string","description":"The resource ID of the application to which this permission scope should be applied","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"scope_id":{"type":"string","description":"The unique identifier of the permission scope","description_kind":"plain","required":true},"type":{"type":"string","description":"Whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions","description_kind":"plain","optional":true},"user_consent_description":{"type":"string","description":"Delegated permission description that appears in the end user consent experience, intended to be read by a user consenting on their own behalf","description_kind":"plain","optional":true},"user_consent_display_name":{"type":"string","description":"Display name for the delegated permission that appears in the end user consent experience","description_kind":"plain","optional":true},"value":{"type":"string","description":"The value that is used for the `scp` claim in OAuth access tokens","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_pre_authorized":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which this pre-authorized application should be added","description_kind":"plain","optional":true,"computed":true},"application_object_id":{"type":"string","description":"The object ID of the application to which this pre-authorized application should be added","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"authorized_app_id":{"type":"string","description":"The application ID of the pre-authorized application","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"authorized_client_id":{"type":"string","description":"The client ID of the pre-authorized application","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission_ids":{"type":["set","string"],"description":"The IDs of the permission scopes required by the pre-authorized application","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_redirect_uris":{"version":0,"block":{"attributes":{"application_id":{"type":"string","description":"The resource ID of the application to which these redirect URIs belong","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"redirect_uris":{"type":["set","string"],"description":"A set of redirect URIs","description_kind":"plain","required":true},"type":{"type":"string","description":"The type of redirect URIs to assign to the application","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_registration":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description":"The Client ID (also called Application ID)","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the application as shown to end users","description_kind":"plain","optional":true},"disabled_by_microsoft":{"type":"string","description":"If the application has been disabled by Microsoft, this shows the status or reason","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application","description_kind":"plain","required":true},"group_membership_claims":{"type":["set","string"],"description":"Configures the `groups` claim that the app expects issued in a user or OAuth access token","description_kind":"plain","optional":true},"homepage_url":{"type":"string","description":"URL of the home page for the application","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"implicit_access_token_issuance_enabled":{"type":"bool","description":"Whether this application can request an access token using OAuth implicit flow","description_kind":"plain","optional":true},"implicit_id_token_issuance_enabled":{"type":"bool","description":"Whether this application can request an ID token using OAuth implicit flow","description_kind":"plain","optional":true},"logout_url":{"type":"string","description":"URL of the logout page for the application, where the session is cleared for single sign-out","description_kind":"plain","optional":true},"marketing_url":{"type":"string","description":"URL of the marketing page for the application","description_kind":"plain","optional":true},"notes":{"type":"string","description":"User-specified notes relevant for the management of the application","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the application within the tenant","description_kind":"plain","computed":true},"privacy_statement_url":{"type":"string","description":"URL of the privacy statement for the application","description_kind":"plain","optional":true},"publisher_domain":{"type":"string","description":"The verified publisher domain for the application","description_kind":"plain","computed":true},"requested_access_token_version":{"type":"number","description":"The access token version expected by this resource","description_kind":"plain","optional":true},"service_management_reference":{"type":"string","description":"References application or contact information from a service or asset management database","description_kind":"plain","optional":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the current application","description_kind":"plain","optional":true},"support_url":{"type":"string","description":"URL of the support page for the application","description_kind":"plain","optional":true},"terms_of_service_url":{"type":"string","description":"URL of the terms of service statement for the application","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_authentication_strength_policy":{"version":0,"block":{"attributes":{"allowed_combinations":{"type":["set","string"],"description":"The allowed MFA methods for this policy","description_kind":"plain","required":true},"description":{"type":"string","description":"The description for the authentication strength policy","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name for the authentication strength policy","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_claims_mapping_policy":{"version":0,"block":{"attributes":{"definition":{"type":["list","string"],"description":"A string collection containing a JSON string that defines the rules and settings for this policy","description_kind":"plain","required":true},"display_name":{"type":"string","description":"Display name for this policy","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"azuread_conditional_access_policy":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","required":true}},"block_types":{"conditions":{"nesting_mode":"list","block":{"attributes":{"client_app_types":{"type":["list","string"],"description_kind":"plain","required":true},"service_principal_risk_levels":{"type":["list","string"],"description_kind":"plain","optional":true},"sign_in_risk_levels":{"type":["list","string"],"description_kind":"plain","optional":true},"user_risk_levels":{"type":["list","string"],"description_kind":"plain","optional":true}},"block_types":{"applications":{"nesting_mode":"list","block":{"attributes":{"excluded_applications":{"type":["list","string"],"description_kind":"plain","optional":true},"included_applications":{"type":["list","string"],"description_kind":"plain","optional":true},"included_user_actions":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"client_applications":{"nesting_mode":"list","block":{"attributes":{"excluded_service_principals":{"type":["list","string"],"description_kind":"plain","optional":true},"included_service_principals":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"devices":{"nesting_mode":"list","block":{"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"mode":{"type":"string","description_kind":"plain","required":true},"rule":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"locations":{"nesting_mode":"list","block":{"attributes":{"excluded_locations":{"type":["list","string"],"description_kind":"plain","optional":true},"included_locations":{"type":["list","string"],"description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"platforms":{"nesting_mode":"list","block":{"attributes":{"excluded_platforms":{"type":["list","string"],"description_kind":"plain","optional":true},"included_platforms":{"type":["list","string"],"description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"users":{"nesting_mode":"list","block":{"attributes":{"excluded_groups":{"type":["list","string"],"description_kind":"plain","optional":true},"excluded_roles":{"type":["list","string"],"description_kind":"plain","optional":true},"excluded_users":{"type":["list","string"],"description_kind":"plain","optional":true},"included_groups":{"type":["list","string"],"description_kind":"plain","optional":true},"included_roles":{"type":["list","string"],"description_kind":"plain","optional":true},"included_users":{"type":["list","string"],"description_kind":"plain","optional":true}},"block_types":{"excluded_guests_or_external_users":{"nesting_mode":"list","block":{"attributes":{"guest_or_external_user_types":{"type":["list","string"],"description_kind":"plain","required":true}},"block_types":{"external_tenants":{"nesting_mode":"list","block":{"attributes":{"members":{"type":["list","string"],"description_kind":"plain","optional":true},"membership_kind":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"included_guests_or_external_users":{"nesting_mode":"list","block":{"attributes":{"guest_or_external_user_types":{"type":["list","string"],"description_kind":"plain","required":true}},"block_types":{"external_tenants":{"nesting_mode":"list","block":{"attributes":{"members":{"type":["list","string"],"description_kind":"plain","optional":true},"membership_kind":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"grant_controls":{"nesting_mode":"list","block":{"attributes":{"authentication_strength_policy_id":{"type":"string","description_kind":"plain","optional":true},"built_in_controls":{"type":["list","string"],"description_kind":"plain","optional":true},"custom_authentication_factors":{"type":["list","string"],"description_kind":"plain","optional":true},"operator":{"type":"string","description_kind":"plain","required":true},"terms_of_use":{"type":["list","string"],"description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"session_controls":{"nesting_mode":"list","block":{"attributes":{"application_enforced_restrictions_enabled":{"type":"bool","description_kind":"plain","optional":true},"cloud_app_security_policy":{"type":"string","description_kind":"plain","optional":true},"disable_resilience_defaults":{"type":"bool","description_kind":"plain","optional":true},"persistent_browser_mode":{"type":"string","description_kind":"plain","optional":true},"sign_in_frequency":{"type":"number","description_kind":"plain","optional":true},"sign_in_frequency_authentication_type":{"type":"string","description_kind":"plain","optional":true},"sign_in_frequency_interval":{"type":"string","description_kind":"plain","optional":true},"sign_in_frequency_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_custom_directory_role":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the custom directory role","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name of the custom directory role","description_kind":"plain","required":true},"enabled":{"type":"bool","description":"Indicates whether the role is enabled for assignment","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"Custom template identifier that is typically used if one needs an identifier to be the same across different directories.","description_kind":"plain","optional":true,"computed":true},"version":{"type":"string","description":"The version of the role definition.","description_kind":"plain","required":true}},"block_types":{"permissions":{"nesting_mode":"set","block":{"attributes":{"allowed_resource_actions":{"type":["set","string"],"description":"Set of tasks that can be performed on a resource","description_kind":"plain","required":true}},"description":"List of permissions that are included in the custom directory role","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the directory role","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the directory role","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"The object ID of the template associated with the directory role","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_assignment":{"version":0,"block":{"attributes":{"app_scope_id":{"type":"string","description":"Identifier of the app-specific scope when the assignment scope is app-specific","description_kind":"plain","optional":true,"computed":true},"app_scope_object_id":{"type":"string","description":"Identifier of the app-specific scope when the assignment scope is app-specific","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"directory_scope_id":{"type":"string","description":"Identifier of the directory object representing the scope of the assignment","description_kind":"plain","optional":true,"computed":true},"directory_scope_object_id":{"type":"string","description":"Identifier of the directory object representing the scope of the assignment","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal_object_id":{"type":"string","description":"The object ID of the member principal","description_kind":"plain","required":true},"role_id":{"type":"string","description":"The object ID of the directory role for this assignment","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_eligibility_schedule_request":{"version":0,"block":{"attributes":{"directory_scope_id":{"type":"string","description":"Identifier of the directory object representing the scope of the role eligibility schedule request","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"justification":{"type":"string","description":"Justification for why the role is assigned","description_kind":"plain","required":true},"principal_id":{"type":"string","description":"The object ID of the member principal","description_kind":"plain","required":true},"role_definition_id":{"type":"string","description":"The object ID of the directory role for this role eligibility schedule request","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_member":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the member","description_kind":"plain","optional":true},"role_object_id":{"type":"string","description":"The object ID of the directory role","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}},"azuread_group":{"version":0,"block":{"attributes":{"administrative_unit_ids":{"type":["set","string"],"description":"The administrative unit IDs in which the group should be. If empty, the group will be created at the tenant level.","description_kind":"plain","optional":true},"assignable_to_role":{"type":"bool","description":"Indicates whether this group can be assigned to an Azure Active Directory role. This property can only be `true` for security-enabled groups.","description_kind":"plain","optional":true},"auto_subscribe_new_members":{"type":"bool","description":"Indicates whether new members added to the group will be auto-subscribed to receive email notifications.","description_kind":"plain","optional":true,"computed":true},"behaviors":{"type":["set","string"],"description":"The group behaviours for a Microsoft 365 group","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description for the group","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name for the group","description_kind":"plain","required":true},"external_senders_allowed":{"type":"bool","description":"Indicates whether people external to the organization can send messages to the group.","description_kind":"plain","optional":true,"computed":true},"hide_from_address_lists":{"type":"bool","description":"Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups.","description_kind":"plain","optional":true,"computed":true},"hide_from_outlook_clients":{"type":"bool","description":"Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mail":{"type":"string","description":"The SMTP address for the group","description_kind":"plain","computed":true},"mail_enabled":{"type":"bool","description":"Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. A group can be mail enabled _and_ security enabled","description_kind":"plain","optional":true},"mail_nickname":{"type":"string","description":"The mail alias for the group, unique in the organisation","description_kind":"plain","optional":true,"computed":true},"members":{"type":["set","string"],"description":"A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the group","description_kind":"plain","computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premises FQDN, also called dnsDomainName, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_group_type":{"type":"string","description":"Indicates the target on-premise group type the group will be written back as","description_kind":"plain","optional":true,"computed":true},"onpremises_netbios_name":{"type":"string","description":"The on-premises NetBIOS name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premises SAM account name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premises security identifier (SID), synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this group is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"owners":{"type":["set","string"],"description":"A set of owners who own this group. Supported object types are Users or Service Principals","description_kind":"plain","optional":true,"computed":true},"preferred_language":{"type":"string","description":"The preferred language for a Microsoft 365 group, in ISO 639-1 notation","description_kind":"plain","computed":true},"prevent_duplicate_names":{"type":"bool","description":"If `true`, will return an error if an existing group is found with the same name","description_kind":"plain","optional":true},"provisioning_options":{"type":["set","string"],"description":"The group provisioning options for a Microsoft 365 group","description_kind":"plain","optional":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the group that direct to the same group mailbox","description_kind":"plain","computed":true},"security_enabled":{"type":"bool","description":"Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A group can be security enabled _and_ mail enabled","description_kind":"plain","optional":true},"theme":{"type":"string","description":"The colour theme for a Microsoft 365 group","description_kind":"plain","optional":true},"types":{"type":["set","string"],"description":"A set of group types to configure for the group. `Unified` specifies a Microsoft 365 group. Required when `mail_enabled` is true","description_kind":"plain","optional":true},"visibility":{"type":"string","description":"Specifies the group join policy and group content visibility","description_kind":"plain","optional":true,"computed":true},"writeback_enabled":{"type":"bool","description":"Whether this group should be synced from Azure AD to the on-premises directory when Azure AD Connect is used","description_kind":"plain","optional":true}},"block_types":{"dynamic_membership":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","required":true},"rule":{"type":"string","description":"Rule to determine members for a dynamic group. Required when `group_types` contains 'DynamicMembership'","description_kind":"plain","required":true}},"description":"An optional block to configure dynamic membership for the group. Cannot be used with `members`","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_group_member":{"version":0,"block":{"attributes":{"group_object_id":{"type":"string","description":"The object ID of the group you want to add the member to","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"member_object_id":{"type":"string","description":"The object ID of the principal you want to add as a member to the group. Supported object types are Users, Groups or Service Principals","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_invitation":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"redeem_url":{"type":"string","description":"The URL the user can use to redeem their invitation","description_kind":"plain","computed":true},"redirect_url":{"type":"string","description":"The URL that the user should be redirected to once the invitation is redeemed","description_kind":"plain","required":true},"user_display_name":{"type":"string","description":"The display name of the user being invited","description_kind":"plain","optional":true},"user_email_address":{"type":"string","description":"The email address of the user being invited","description_kind":"plain","required":true},"user_id":{"type":"string","description":"Object ID of the invited user","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The user type of the user being invited","description_kind":"plain","optional":true}},"block_types":{"message":{"nesting_mode":"list","block":{"attributes":{"additional_recipients":{"type":["list","string"],"description":"Email addresses of additional recipients the invitation message should be sent to","description_kind":"plain","optional":true},"body":{"type":"string","description":"Customized message body you want to send if you don't want to send the default message","description_kind":"plain","optional":true},"language":{"type":"string","description":"The language you want to send the default message in","description_kind":"plain","optional":true}},"description":"Customize the message sent to the invited user","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_named_location":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"country":{"nesting_mode":"list","block":{"attributes":{"countries_and_regions":{"type":["list","string"],"description_kind":"plain","required":true},"include_unknown_countries_and_regions":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ip":{"nesting_mode":"list","block":{"attributes":{"ip_ranges":{"type":["list","string"],"description_kind":"plain","required":true},"trusted":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal":{"version":0,"block":{"attributes":{"account_enabled":{"type":"bool","description":"Whether or not the service principal account is enabled","description_kind":"plain","optional":true},"alternative_names":{"type":["set","string"],"description":"A list of alternative names, used to retrieve service principals by subscription, identify resource group and full resource ids for managed identities","description_kind":"plain","optional":true},"app_role_assignment_required":{"type":"bool","description":"Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application","description_kind":"plain","optional":true},"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"app_roles":{"type":["list",["object",{"allowed_member_types":["list","string"],"description":"string","display_name":"string","enabled":"bool","id":"string","value":"string"}]],"description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The application ID (client ID) of the application for which to create a service principal","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"application_tenant_id":{"type":"string","description":"The tenant ID where the associated application is registered","description_kind":"plain","computed":true},"client_id":{"type":"string","description":"The client ID of the application for which to create a service principal","description_kind":"plain","optional":true,"computed":true},"description":{"type":"string","description":"Description of the service principal provided for internal end-users","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The display name of the application associated with this service principal","description_kind":"plain","computed":true},"homepage_url":{"type":"string","description":"Home page or landing page of the application","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login_url":{"type":"string","description":"The URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to launch the application from Microsoft 365 or the Azure AD My Apps. When blank, Azure AD performs IdP-initiated sign-on for applications configured with SAML-based single sign-on","description_kind":"plain","optional":true},"logout_url":{"type":"string","description":"The URL that will be used by Microsoft's authorization service to sign out a user using front-channel, back-channel or SAML logout protocols","description_kind":"plain","computed":true},"notes":{"type":"string","description":"Free text field to capture information about the service principal, typically used for operational purposes","description_kind":"plain","optional":true},"notification_email_addresses":{"type":["set","string"],"description":"List of email addresses where Azure AD sends a notification when the active certificate is near the expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery applications","description_kind":"plain","optional":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_permission_scopes":{"type":["list",["object",{"admin_consent_description":"string","admin_consent_display_name":"string","enabled":"bool","id":"string","type":"string","user_consent_description":"string","user_consent_display_name":"string","value":"string"}]],"description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the service principal","description_kind":"plain","computed":true},"owners":{"type":["set","string"],"description":"A list of object IDs of principals that will be granted ownership of the service principal","description_kind":"plain","optional":true},"preferred_single_sign_on_mode":{"type":"string","description":"The single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to launch the application from Microsoft 365 or the Azure AD My Apps","description_kind":"plain","optional":true},"redirect_uris":{"type":["list","string"],"description":"The URLs where user tokens are sent for sign-in with the associated application, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent for the associated application","description_kind":"plain","computed":true},"saml_metadata_url":{"type":"string","description":"The URL where the service exposes SAML metadata for federation","description_kind":"plain","computed":true},"service_principal_names":{"type":["list","string"],"description":"A list of identifier URI(s), copied over from the associated application","description_kind":"plain","computed":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the associated application","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"A set of tags to apply to the service principal","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"Identifies whether the service principal represents an application or a managed identity","description_kind":"plain","computed":true},"use_existing":{"type":"bool","description":"When true, the resource will return an existing service principal instead of failing with an error","description_kind":"plain","optional":true}},"block_types":{"feature_tags":{"nesting_mode":"list","block":{"attributes":{"custom_single_sign_on":{"type":"bool","description":"Whether this service principal represents a custom SAML application","description_kind":"plain","optional":true},"enterprise":{"type":"bool","description":"Whether this service principal represents an Enterprise Application","description_kind":"plain","optional":true},"gallery":{"type":"bool","description":"Whether this service principal represents a gallery application","description_kind":"plain","optional":true},"hide":{"type":"bool","description":"Whether this app is invisible to users in My Apps and Office 365 Launcher","description_kind":"plain","optional":true}},"description":"Block of features to configure for this service principal using tags","description_kind":"plain"}},"features":{"nesting_mode":"list","block":{"attributes":{"custom_single_sign_on_app":{"type":"bool","description":"Whether this service principal represents a custom SAML application","description_kind":"plain","optional":true},"enterprise_application":{"type":"bool","description":"Whether this service principal represents an Enterprise Application","description_kind":"plain","optional":true},"gallery_application":{"type":"bool","description":"Whether this service principal represents a gallery application","description_kind":"plain","optional":true},"visible_to_users":{"type":"bool","description":"Whether this app is visible to users in My Apps and Office 365 Launcher","description_kind":"plain","optional":true}},"description":"Block of features to configure for this service principal using tags","description_kind":"plain","deprecated":true}},"saml_single_sign_on":{"nesting_mode":"list","block":{"attributes":{"relay_state":{"type":"string","description":"The relative URI the service provider would redirect to after completion of the single sign-on flow","description_kind":"plain","optional":true}},"description":"Settings related to SAML single sign-on","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_certificate":{"version":0,"block":{"attributes":{"encoding":{"type":"string","description":"Specifies the encoding used for the supplied certificate data","description_kind":"plain","optional":true},"end_date":{"type":"string","description":"The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`)","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the certificate is valid until, for example `240h` (10 days) or `2400h30m`. Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\"","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this certificate. If not specified a UUID will be automatically generated","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this certificate should be created","description_kind":"plain","required":true},"start_date":{"type":"string","description":"The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of key/certificate","description_kind":"plain","optional":true},"value":{"type":"string","description":"The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER","description_kind":"plain","required":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_claims_mapping_policy_assignment":{"version":0,"block":{"attributes":{"claims_mapping_policy_id":{"type":"string","description":"ID of the claims mapping policy to assign","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"Object ID of the service principal for which to assign the policy","description_kind":"plain","required":true}},"description_kind":"plain"}},"azuread_service_principal_delegated_permission_grant":{"version":0,"block":{"attributes":{"claim_values":{"type":["set","string"],"description":"A set of claim values for delegated permission scopes which should be included in access tokens for the resource","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_service_principal_object_id":{"type":"string","description":"The object ID of the service principal representing the resource to be accessed","description_kind":"plain","required":true},"service_principal_object_id":{"type":"string","description":"The object ID of the service principal for which this delegated permission grant should be created","description_kind":"plain","required":true},"user_object_id":{"type":"string","description":"The object ID of the user on behalf of whom the service principal is authorized to access the resource","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_password":{"version":1,"block":{"attributes":{"display_name":{"type":"string","description":"A display name for the password","description_kind":"plain","optional":true,"computed":true},"end_date":{"type":"string","description":"The end date until which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`)","description_kind":"plain","optional":true,"computed":true},"end_date_relative":{"type":"string","description":"A relative duration for which the password is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify this password credential","description_kind":"plain","computed":true},"rotate_when_changed":{"type":["map","string"],"description":"Arbitrary map of values that, when changed, will trigger rotation of the password","description_kind":"plain","optional":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this password should be created","description_kind":"plain","required":true},"start_date":{"type":"string","description":"The start date from which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used","description_kind":"plain","optional":true,"computed":true},"value":{"type":"string","description":"The password for this service principal, which is generated by Azure Active Directory","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal_token_signing_certificate":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"A friendly name for the certificate","description_kind":"plain","optional":true,"computed":true},"end_date":{"type":"string","description":"The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). Default is 3 years from current date.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key_id":{"type":"string","description":"A UUID used to uniquely identify the verify certificate.","description_kind":"plain","computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this certificate should be created","description_kind":"plain","required":true},"start_date":{"type":"string","description":"The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`).","description_kind":"plain","computed":true},"thumbprint":{"type":"string","description":"The thumbprint of the certificate.","description_kind":"plain","computed":true},"value":{"type":"string","description":"The certificate data, which is PEM encoded but does not include the header/footer","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_synchronization_job":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description":"Whether or not the synchronization job is enabled","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"schedule":{"type":["list",["object",{"expiration":"string","interval":"string","state":"string"}]],"description_kind":"plain","computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this synchronization job should be created","description_kind":"plain","required":true},"template_id":{"type":"string","description":"Identifier of the synchronization template this job is based on.","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_synchronization_secret":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_principal_id":{"type":"string","description":"The object ID of the service principal for which this synchronization secret should be created","description_kind":"plain","required":true}},"block_types":{"credential":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"Name for this key-value pair.","description_kind":"plain","required":true},"value":{"type":"string","description":"Value for this key-value pair.","description_kind":"plain","required":true,"sensitive":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_user":{"version":0,"block":{"attributes":{"about_me":{"type":"string","description":"A freeform field for the user to describe themselves","description_kind":"plain","computed":true},"account_enabled":{"type":"bool","description":"Whether or not the account should be enabled","description_kind":"plain","optional":true},"age_group":{"type":"string","description":"The age group of the user","description_kind":"plain","optional":true},"business_phones":{"type":["list","string"],"description":"The telephone numbers for the user. Only one number can be set for this property. Read-only for users synced with Azure AD Connect","description_kind":"plain","optional":true,"computed":true},"city":{"type":"string","description":"The city in which the user is located","description_kind":"plain","optional":true},"company_name":{"type":"string","description":"The company name which the user is associated. This property can be useful for describing the company that an external user comes from","description_kind":"plain","optional":true},"consent_provided_for_minor":{"type":"string","description":"Whether consent has been obtained for minors","description_kind":"plain","optional":true},"cost_center":{"type":"string","description":"The cost center associated with the user.","description_kind":"plain","optional":true},"country":{"type":"string","description":"The country/region in which the user is located, e.g. `US` or `UK`","description_kind":"plain","optional":true},"creation_type":{"type":"string","description":"Indicates whether the user account was created as a regular school or work account (`null`), an external account (`Invitation`), a local account for an Azure Active Directory B2C tenant (`LocalAccount`) or self-service sign-up using email verification (`EmailVerified`)","description_kind":"plain","computed":true},"department":{"type":"string","description":"The name for the department in which the user works","description_kind":"plain","optional":true},"disable_password_expiration":{"type":"bool","description":"Whether the users password is exempt from expiring","description_kind":"plain","optional":true},"disable_strong_password":{"type":"bool","description":"Whether the user is allowed weaker passwords than the default policy to be specified.","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"The name to display in the address book for the user","description_kind":"plain","required":true},"division":{"type":"string","description":"The name of the division in which the user works.","description_kind":"plain","optional":true},"employee_id":{"type":"string","description":"The employee identifier assigned to the user by the organisation","description_kind":"plain","optional":true},"employee_type":{"type":"string","description":"Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor.","description_kind":"plain","optional":true},"external_user_state":{"type":"string","description":"For an external user invited to the tenant, this property represents the invited user's invitation status","description_kind":"plain","computed":true},"fax_number":{"type":"string","description":"The fax number of the user","description_kind":"plain","optional":true},"force_password_change":{"type":"bool","description":"Whether the user is forced to change the password during the next sign-in. Only takes effect when also changing the password","description_kind":"plain","optional":true},"given_name":{"type":"string","description":"The given name (first name) of the user","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"im_addresses":{"type":["list","string"],"description":"The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user","description_kind":"plain","computed":true},"job_title":{"type":"string","description":"The user’s job title","description_kind":"plain","optional":true},"mail":{"type":"string","description":"The SMTP address for the user. Cannot be unset.","description_kind":"plain","optional":true,"computed":true},"mail_nickname":{"type":"string","description":"The mail alias for the user. Defaults to the user name part of the user principal name (UPN)","description_kind":"plain","optional":true,"computed":true},"manager_id":{"type":"string","description":"The object ID of the user's manager","description_kind":"plain","optional":true},"mobile_phone":{"type":"string","description":"The primary cellular telephone number for the user","description_kind":"plain","optional":true},"object_id":{"type":"string","description":"The object ID of the user","description_kind":"plain","computed":true},"office_location":{"type":"string","description":"The office location in the user's place of business","description_kind":"plain","optional":true},"onpremises_distinguished_name":{"type":"string","description":"The on-premise Active Directory distinguished name (DN) of the user","description_kind":"plain","computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premise FQDN (i.e. dnsDomainName) of the user","description_kind":"plain","computed":true},"onpremises_immutable_id":{"type":"string","description":"The value used to associate an on-premise Active Directory user account with their Azure AD user object. This must be specified if you are using a federated domain for the user's `user_principal_name` property when creating a new user account","description_kind":"plain","optional":true,"computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premise SAM account name of the user","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premise security identifier (SID) of the user","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this user is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"onpremises_user_principal_name":{"type":"string","description":"The on-premise user principal name of the user","description_kind":"plain","computed":true},"other_mails":{"type":["set","string"],"description":"Additional email addresses for the user","description_kind":"plain","optional":true},"password":{"type":"string","description":"The password for the user. The password must satisfy minimum requirements as specified by the password policy. The maximum length is 256 characters. This property is required when creating a new user","description_kind":"plain","optional":true,"computed":true,"sensitive":true},"postal_code":{"type":"string","description":"The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code","description_kind":"plain","optional":true},"preferred_language":{"type":"string","description":"The user's preferred language, in ISO 639-1 notation","description_kind":"plain","optional":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the user that direct to the same mailbox","description_kind":"plain","computed":true},"show_in_address_list":{"type":"bool","description":"Whether or not the Outlook global address list should include this user","description_kind":"plain","optional":true},"state":{"type":"string","description":"The state or province in the user's address","description_kind":"plain","optional":true},"street_address":{"type":"string","description":"The street address of the user's place of business","description_kind":"plain","optional":true},"surname":{"type":"string","description":"The user's surname (family name or last name)","description_kind":"plain","optional":true},"usage_location":{"type":"string","description":"The usage location of the user. Required for users that will be assigned licenses due to legal requirement to check for availability of services in countries. The usage location is a two letter country code (ISO standard 3166). Examples include: `NO`, `JP`, and `GB`. Cannot be reset to null once set","description_kind":"plain","optional":true},"user_principal_name":{"type":"string","description":"The user principal name (UPN) of the user","description_kind":"plain","required":true},"user_type":{"type":"string","description":"The user type in the directory. Possible values are `Guest` or `Member`","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_user_flow_attribute":{"version":0,"block":{"attributes":{"attribute_type":{"type":"string","description":"The type of the user flow attribute","description_kind":"plain","computed":true},"data_type":{"type":"string","description":"The data type of the user flow attribute","description_kind":"plain","required":true},"description":{"type":"string","description":"The description of the user flow attribute that is shown to the user at the time of sign-up","description_kind":"plain","required":true},"display_name":{"type":"string","description":"The display name of the user flow attribute.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"azuread_access_package":{"version":0,"block":{"attributes":{"catalog_id":{"type":"string","description":"The ID of the Catalog this access package is in","description_kind":"plain","optional":true},"description":{"type":"string","description":"The description of the access package","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the access package","description_kind":"plain","optional":true,"computed":true},"hidden":{"type":"bool","description":"Whether the access package is hidden from the requestor","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The ID of this access package","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the access package catalog","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the access package catalog","description_kind":"plain","optional":true,"computed":true},"externally_visible":{"type":"bool","description":"Whether the access packages in this catalog can be requested by users outside the tenant","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The ID of this access package catalog","description_kind":"plain","optional":true,"computed":true},"published":{"type":"bool","description":"Whether the access packages in this catalog are available for management","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_access_package_catalog_role":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the catalog role","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the catalog role","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the catalog role","description_kind":"plain","optional":true,"computed":true},"template_id":{"type":"string","description":"The object ID of the template associated with the catalog role","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_administrative_unit":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description for the administrative unit","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the administrative unit","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"members":{"type":["list","string"],"description":"A list of object IDs of members who are be present in this administrative unit.","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the administrative unit","description_kind":"plain","optional":true,"computed":true},"visibility":{"type":"string","description":"Whether the administrative unit and its members are hidden or publicly viewable in the directory","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application":{"version":2,"block":{"attributes":{"api":{"type":["list",["object",{"known_client_applications":["list","string"],"mapped_claims_enabled":"bool","oauth2_permission_scopes":["list",["object",{"admin_consent_description":"string","admin_consent_display_name":"string","enabled":"bool","id":"string","type":"string","user_consent_description":"string","user_consent_display_name":"string","value":"string"}]],"requested_access_token_version":"number"}]],"description_kind":"plain","computed":true},"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"app_roles":{"type":["list",["object",{"allowed_member_types":["list","string"],"description":"string","display_name":"string","enabled":"bool","id":"string","value":"string"}]],"description":"List of app roles published by the application","description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The Application ID (also called Client ID)","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"client_id":{"type":"string","description":"The Client ID (also called Application ID)","description_kind":"plain","optional":true,"computed":true},"description":{"type":"string","description":"Description of the application as shown to end users","description_kind":"plain","computed":true},"device_only_auth_enabled":{"type":"bool","description":"Specifies whether this application supports device authentication without a user.","description_kind":"plain","computed":true},"disabled_by_microsoft":{"type":"string","description":"Whether Microsoft has disabled the registered application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application","description_kind":"plain","optional":true,"computed":true},"fallback_public_client_enabled":{"type":"bool","description":"The fallback application type as public client, such as an installed application running on a mobile device","description_kind":"plain","computed":true},"feature_tags":{"type":["list",["object",{"custom_single_sign_on":"bool","enterprise":"bool","gallery":"bool","hide":"bool"}]],"description":"Block of features configured for this application using tags","description_kind":"plain","computed":true},"group_membership_claims":{"type":["list","string"],"description":"The `groups` claim issued in a user or OAuth 2.0 access token that the app expects","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identifier_uris":{"type":["list","string"],"description":"A list of user-defined URI(s) that uniquely identify a Web application within it's Azure AD tenant, or within a verified custom domain if the application is multi-tenant","description_kind":"plain","computed":true},"logo_url":{"type":"string","description":"CDN URL to the application's logo","description_kind":"plain","computed":true},"marketing_url":{"type":"string","description":"URL of the application's marketing page","description_kind":"plain","computed":true},"notes":{"type":"string","description":"User-specified notes relevant for the management of the application","description_kind":"plain","computed":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_post_response_required":{"type":"bool","description":"Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests.","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The application's object ID","description_kind":"plain","optional":true,"computed":true},"optional_claims":{"type":["list",["object",{"access_token":["list",["object",{"additional_properties":["list","string"],"essential":"bool","name":"string","source":"string"}]],"id_token":["list",["object",{"additional_properties":["list","string"],"essential":"bool","name":"string","source":"string"}]],"saml2_token":["list",["object",{"additional_properties":["list","string"],"essential":"bool","name":"string","source":"string"}]]}]],"description_kind":"plain","computed":true},"owners":{"type":["list","string"],"description":"A list of object IDs of principals that are assigned ownership of the application","description_kind":"plain","computed":true},"privacy_statement_url":{"type":"string","description":"URL of the application's privacy statement","description_kind":"plain","computed":true},"public_client":{"type":["list",["object",{"redirect_uris":["list","string"]}]],"description_kind":"plain","computed":true},"publisher_domain":{"type":"string","description":"The verified publisher domain for the application","description_kind":"plain","computed":true},"required_resource_access":{"type":["list",["object",{"resource_access":["list",["object",{"id":"string","type":"string"}]],"resource_app_id":"string"}]],"description_kind":"plain","computed":true},"service_management_reference":{"type":"string","description":"References application or service contact information from a Service or Asset Management database","description_kind":"plain","computed":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the current application","description_kind":"plain","computed":true},"single_page_application":{"type":["list",["object",{"redirect_uris":["list","string"]}]],"description_kind":"plain","computed":true},"support_url":{"type":"string","description":"URL of the application's support page","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"A set of tags applied to the application","description_kind":"plain","computed":true},"terms_of_service_url":{"type":"string","description":"URL of the application's terms of service statement","description_kind":"plain","computed":true},"web":{"type":["list",["object",{"homepage_url":"string","implicit_grant":["list",["object",{"access_token_issuance_enabled":"bool","id_token_issuance_enabled":"bool"}]],"logout_url":"string","redirect_uris":["list","string"]}]],"description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_published_app_ids":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["map","string"],"description":"A mapping of application names and application IDs","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_application_template":{"version":0,"block":{"attributes":{"categories":{"type":["list","string"],"description":"List of categories for this templated application","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the application template","description_kind":"plain","optional":true,"computed":true},"homepage_url":{"type":"string","description":"Home page URL of the templated application","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"logo_url":{"type":"string","description":"URL to retrieve the logo for this templated application","description_kind":"plain","computed":true},"publisher":{"type":"string","description":"Name of the publisher for this templated application","description_kind":"plain","computed":true},"supported_provisioning_types":{"type":["list","string"],"description":"The provisioning modes supported by this templated application","description_kind":"plain","computed":true},"supported_single_sign_on_modes":{"type":["list","string"],"description":"The single sign on modes supported by this templated application","description_kind":"plain","computed":true},"template_id":{"type":"string","description":"The application template's ID","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_client_config":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description":"The client ID (application ID) linked to the authenticated principal, or the application used for delegated authentication","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the authenticated principal","description_kind":"plain","computed":true},"tenant_id":{"type":"string","description":"The tenant ID of the authenticated principal","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_object":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_id":{"type":"string","description":"The object ID of the principal","description_kind":"plain","required":true},"type":{"type":"string","description":"The OData type of the principal","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_role_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the role templates","description_kind":"plain","computed":true},"role_templates":{"type":["list",["object",{"description":"string","display_name":"string","object_id":"string"}]],"description":"A list of role templates","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_directory_roles":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the roles","description_kind":"plain","computed":true},"roles":{"type":["list",["object",{"description":"string","display_name":"string","object_id":"string","template_id":"string"}]],"description":"A list of roles","description_kind":"plain","computed":true},"template_ids":{"type":["list","string"],"description":"The template IDs of the roles","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_domains":{"version":0,"block":{"attributes":{"admin_managed":{"type":"bool","description":"Set to `true` to only return domains whose DNS is managed by Microsoft 365","description_kind":"plain","optional":true},"domains":{"type":["list",["object",{"admin_managed":"bool","authentication_type":"string","default":"bool","domain_name":"string","initial":"bool","root":"bool","supported_services":["list","string"],"verified":"bool"}]],"description":"A list of tenant domains","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"include_unverified":{"type":"bool","description":"Set to `true` if unverified Azure AD domains should be included","description_kind":"plain","optional":true},"only_default":{"type":"bool","description":"Set to `true` to only return the default domain","description_kind":"plain","optional":true},"only_initial":{"type":"bool","description":"Set to `true` to only return the initial domain, which is your primary Azure Active Directory tenant domain","description_kind":"plain","optional":true},"only_root":{"type":"bool","description":"Set to `true` to only return verified root domains. Excludes subdomains and unverified domains","description_kind":"plain","optional":true},"supports_services":{"type":["list","string"],"description":"A list of supported services that must be supported by a domain","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_group":{"version":0,"block":{"attributes":{"assignable_to_role":{"type":"bool","description":"Indicates whether this group can be assigned to an Azure Active Directory role","description_kind":"plain","computed":true},"auto_subscribe_new_members":{"type":"bool","description":"Indicates whether new members added to the group will be auto-subscribed to receive email notifications.","description_kind":"plain","computed":true},"behaviors":{"type":["list","string"],"description":"The group behaviors for a Microsoft 365 group","description_kind":"plain","computed":true},"description":{"type":"string","description":"The optional description of the group","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name for the group","description_kind":"plain","optional":true,"computed":true},"dynamic_membership":{"type":["list",["object",{"enabled":"bool","rule":"string"}]],"description":"An optional block to configure dynamic membership for the group. Cannot be used with `members`","description_kind":"plain","computed":true},"external_senders_allowed":{"type":"bool","description":"Indicates whether people external to the organization can send messages to the group.","description_kind":"plain","computed":true},"hide_from_address_lists":{"type":"bool","description":"Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups.","description_kind":"plain","computed":true},"hide_from_outlook_clients":{"type":"bool","description":"Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mail":{"type":"string","description":"The SMTP address for the group","description_kind":"plain","computed":true},"mail_enabled":{"type":"bool","description":"Whether the group is mail-enabled","description_kind":"plain","optional":true,"computed":true},"mail_nickname":{"type":"string","description":"The mail alias for the group, unique in the organisation","description_kind":"plain","optional":true,"computed":true},"members":{"type":["list","string"],"description":"The object IDs of the group members","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the group","description_kind":"plain","optional":true,"computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premises FQDN, also called dnsDomainName, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_group_type":{"type":"string","description":"Indicates the target on-premise group type the group will be written back as","description_kind":"plain","computed":true},"onpremises_netbios_name":{"type":"string","description":"The on-premises NetBIOS name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premises SAM account name, synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premises security identifier (SID), synchronized from the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this group is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"owners":{"type":["list","string"],"description":"The object IDs of the group owners","description_kind":"plain","computed":true},"preferred_language":{"type":"string","description":"The preferred language for a Microsoft 365 group, in ISO 639-1 notation","description_kind":"plain","computed":true},"provisioning_options":{"type":["list","string"],"description":"The group provisioning options for a Microsoft 365 group","description_kind":"plain","computed":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the group that direct to the same group mailbox","description_kind":"plain","computed":true},"security_enabled":{"type":"bool","description":"Whether the group is a security group","description_kind":"plain","optional":true,"computed":true},"theme":{"type":"string","description":"The colour theme for a Microsoft 365 group","description_kind":"plain","computed":true},"types":{"type":["list","string"],"description":"A list of group types configured for the group. The only supported type is `Unified`, which specifies a Microsoft 365 group","description_kind":"plain","computed":true},"visibility":{"type":"string","description":"Specifies the group join policy and group content visibility","description_kind":"plain","computed":true},"writeback_enabled":{"type":"bool","description":"Whether this group is synced from Azure AD to the on-premises directory when Azure AD Connect is used","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_groups":{"version":0,"block":{"attributes":{"display_name_prefix":{"type":"string","description":"Common display name prefix of the groups","description_kind":"plain","optional":true,"computed":true},"display_names":{"type":["list","string"],"description":"The display names of the groups","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ignore_missing":{"type":"bool","description":"Ignore missing groups and return groups that were found. The data source will still fail if no groups are found","description_kind":"plain","optional":true},"mail_enabled":{"type":"bool","description":"Whether the groups are mail-enabled","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the groups","description_kind":"plain","optional":true,"computed":true},"return_all":{"type":"bool","description":"Retrieve all groups with no filter","description_kind":"plain","optional":true},"security_enabled":{"type":"bool","description":"Whether the groups are security-enabled","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_named_location":{"version":0,"block":{"attributes":{"country":{"type":["list",["object",{"countries_and_regions":["list","string"],"include_unknown_countries_and_regions":"bool"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":["list",["object",{"ip_ranges":["list","string"],"trusted":"bool"}]],"description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principal":{"version":0,"block":{"attributes":{"account_enabled":{"type":"bool","description":"Whether or not the service principal account is enabled","description_kind":"plain","computed":true},"alternative_names":{"type":["list","string"],"description":"A list of alternative names, used to retrieve service principals by subscription, identify resource group and full resource ids for managed identities","description_kind":"plain","computed":true},"app_role_assignment_required":{"type":"bool","description":"Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application","description_kind":"plain","computed":true},"app_role_ids":{"type":["map","string"],"description":"Mapping of app role names to UUIDs","description_kind":"plain","computed":true},"app_roles":{"type":["list",["object",{"allowed_member_types":["list","string"],"description":"string","display_name":"string","enabled":"bool","id":"string","value":"string"}]],"description_kind":"plain","computed":true},"application_id":{"type":"string","description":"The application ID (client ID) of the application associated with this service principal","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"application_tenant_id":{"type":"string","description":"The tenant ID where the associated application is registered","description_kind":"plain","computed":true},"client_id":{"type":"string","description":"The client ID of the application associated with this service principal","description_kind":"plain","optional":true,"computed":true},"description":{"type":"string","description":"Description of the service principal provided for internal end-users","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the application associated with this service principal","description_kind":"plain","optional":true,"computed":true},"feature_tags":{"type":["list",["object",{"custom_single_sign_on":"bool","enterprise":"bool","gallery":"bool","hide":"bool"}]],"description":"Block of features configured for this service principal using tags","description_kind":"plain","computed":true},"features":{"type":["list",["object",{"custom_single_sign_on_app":"bool","enterprise_application":"bool","gallery_application":"bool","visible_to_users":"bool"}]],"description":"Block of features configured for this service principal using tags","description_kind":"plain","deprecated":true,"computed":true},"homepage_url":{"type":"string","description":"Home page or landing page of the application","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login_url":{"type":"string","description":"The URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to launch the application from Microsoft 365 or the Azure AD My Apps","description_kind":"plain","computed":true},"logout_url":{"type":"string","description":"The URL that will be used by Microsoft's authorization service to sign out a user using front-channel, back-channel or SAML logout protocols","description_kind":"plain","computed":true},"notes":{"type":"string","description":"Free text field to capture information about the service principal, typically used for operational purposes","description_kind":"plain","computed":true},"notification_email_addresses":{"type":["list","string"],"description":"List of email addresses where Azure AD sends a notification when the active certificate is near the expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery applications","description_kind":"plain","computed":true},"oauth2_permission_scope_ids":{"type":["map","string"],"description":"Mapping of OAuth2.0 permission scope names to UUIDs","description_kind":"plain","computed":true},"oauth2_permission_scopes":{"type":["list",["object",{"admin_consent_description":"string","admin_consent_display_name":"string","enabled":"bool","id":"string","type":"string","user_consent_description":"string","user_consent_display_name":"string","value":"string"}]],"description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the service principal","description_kind":"plain","optional":true,"computed":true},"preferred_single_sign_on_mode":{"type":"string","description":"The single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to launch the application from Microsoft 365 or the Azure AD My Apps","description_kind":"plain","computed":true},"redirect_uris":{"type":["list","string"],"description":"The URLs where user tokens are sent for sign-in with the associated application, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent for the associated application","description_kind":"plain","computed":true},"saml_metadata_url":{"type":"string","description":"The URL where the service exposes SAML metadata for federation","description_kind":"plain","computed":true},"saml_single_sign_on":{"type":["list",["object",{"relay_state":"string"}]],"description":"Settings related to SAML single sign-on","description_kind":"plain","computed":true},"service_principal_names":{"type":["list","string"],"description":"A list of identifier URI(s), copied over from the associated application","description_kind":"plain","computed":true},"sign_in_audience":{"type":"string","description":"The Microsoft account types that are supported for the associated application","description_kind":"plain","computed":true},"tags":{"type":["list","string"],"description":"A set of tags to apply to the service principal","description_kind":"plain","computed":true},"type":{"type":"string","description":"Identifies whether the service principal represents an application or a managed identity","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_service_principals":{"version":0,"block":{"attributes":{"application_ids":{"type":["list","string"],"description":"The application IDs (client IDs) of the applications associated with the service principals","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"client_ids":{"type":["list","string"],"description":"The client IDs of the applications associated with the service principals","description_kind":"plain","optional":true,"computed":true},"display_names":{"type":["list","string"],"description":"The display names of the applications associated with the service principals","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ignore_missing":{"type":"bool","description":"Ignore missing service principals and return the service principals that were found. The data source will still fail if no service principals are found","description_kind":"plain","optional":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the service principals","description_kind":"plain","optional":true,"computed":true},"return_all":{"type":"bool","description":"Fetch all service principals with no filter and return all that were found. The data source will still fail if no service principals are found.","description_kind":"plain","optional":true},"service_principals":{"type":["list",["object",{"account_enabled":"bool","app_role_assignment_required":"bool","application_id":"string","application_tenant_id":"string","client_id":"string","display_name":"string","object_id":"string","preferred_single_sign_on_mode":"string","saml_metadata_url":"string","service_principal_names":["list","string"],"sign_in_audience":"string","tags":["list","string"],"type":"string"}]],"description":"A list of service_principals","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_user":{"version":0,"block":{"attributes":{"account_enabled":{"type":"bool","description":"Whether or not the account is enabled","description_kind":"plain","computed":true},"age_group":{"type":"string","description":"The age group of the user","description_kind":"plain","computed":true},"business_phones":{"type":["list","string"],"description":"The telephone numbers for the user","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city in which the user is located","description_kind":"plain","computed":true},"company_name":{"type":"string","description":"The company name which the user is associated. This property can be useful for describing the company that an external user comes from","description_kind":"plain","computed":true},"consent_provided_for_minor":{"type":"string","description":"Whether consent has been obtained for minors","description_kind":"plain","computed":true},"cost_center":{"type":"string","description":"The cost center associated with the user.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The country/region in which the user is located, e.g. `US` or `UK`","description_kind":"plain","computed":true},"creation_type":{"type":"string","description":"Indicates whether the user account was created as a regular school or work account (`null`), an external account (`Invitation`), a local account for an Azure Active Directory B2C tenant (`LocalAccount`) or self-service sign-up using email verification (`EmailVerified`)","description_kind":"plain","computed":true},"department":{"type":"string","description":"The name for the department in which the user works","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the user","description_kind":"plain","computed":true},"division":{"type":"string","description":"The name of the division in which the user works.","description_kind":"plain","computed":true},"employee_id":{"type":"string","description":"The employee identifier assigned to the user by the organisation","description_kind":"plain","optional":true,"computed":true},"employee_type":{"type":"string","description":"Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor.","description_kind":"plain","computed":true},"external_user_state":{"type":"string","description":"For an external user invited to the tenant, this property represents the invited user's invitation status","description_kind":"plain","computed":true},"fax_number":{"type":"string","description":"The fax number of the user","description_kind":"plain","computed":true},"given_name":{"type":"string","description":"The given name (first name) of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"im_addresses":{"type":["list","string"],"description":"The instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user","description_kind":"plain","computed":true},"job_title":{"type":"string","description":"The user’s job title","description_kind":"plain","computed":true},"mail":{"type":"string","description":"The SMTP address for the user","description_kind":"plain","optional":true,"computed":true},"mail_nickname":{"type":"string","description":"The email alias of the user","description_kind":"plain","optional":true,"computed":true},"manager_id":{"type":"string","description":"The object ID of the user's manager","description_kind":"plain","computed":true},"mobile_phone":{"type":"string","description":"The primary cellular telephone number for the user","description_kind":"plain","computed":true},"object_id":{"type":"string","description":"The object ID of the user","description_kind":"plain","optional":true,"computed":true},"office_location":{"type":"string","description":"The office location in the user's place of business","description_kind":"plain","computed":true},"onpremises_distinguished_name":{"type":"string","description":"The on-premise Active Directory distinguished name (DN) of the user","description_kind":"plain","computed":true},"onpremises_domain_name":{"type":"string","description":"The on-premise FQDN (i.e. dnsDomainName) of the user","description_kind":"plain","computed":true},"onpremises_immutable_id":{"type":"string","description":"The value used to associate an on-premise Active Directory user account with their Azure AD user object","description_kind":"plain","computed":true},"onpremises_sam_account_name":{"type":"string","description":"The on-premise SAM account name of the user","description_kind":"plain","computed":true},"onpremises_security_identifier":{"type":"string","description":"The on-premise security identifier (SID) of the user","description_kind":"plain","computed":true},"onpremises_sync_enabled":{"type":"bool","description":"Whether this user is synchronized from an on-premises directory (true), no longer synchronized (false), or has never been synchronized (null)","description_kind":"plain","computed":true},"onpremises_user_principal_name":{"type":"string","description":"The on-premise user principal name of the user","description_kind":"plain","computed":true},"other_mails":{"type":["list","string"],"description":"Additional email addresses for the user","description_kind":"plain","computed":true},"postal_code":{"type":"string","description":"The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code","description_kind":"plain","computed":true},"preferred_language":{"type":"string","description":"The user's preferred language, in ISO 639-1 notation","description_kind":"plain","computed":true},"proxy_addresses":{"type":["list","string"],"description":"Email addresses for the user that direct to the same mailbox","description_kind":"plain","computed":true},"show_in_address_list":{"type":"bool","description":"Whether or not the Outlook global address list should include this user","description_kind":"plain","computed":true},"state":{"type":"string","description":"The state or province in the user's address","description_kind":"plain","computed":true},"street_address":{"type":"string","description":"The street address of the user's place of business","description_kind":"plain","computed":true},"surname":{"type":"string","description":"The user's surname (family name or last name)","description_kind":"plain","computed":true},"usage_location":{"type":"string","description":"The usage location of the user","description_kind":"plain","computed":true},"user_principal_name":{"type":"string","description":"The user principal name (UPN) of the user","description_kind":"plain","optional":true,"computed":true},"user_type":{"type":"string","description":"The user type in the directory. Possible values are `Guest` or `Member`","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"azuread_users":{"version":0,"block":{"attributes":{"employee_ids":{"type":["list","string"],"description":"The employee identifier assigned to the user by the organisation","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ignore_missing":{"type":"bool","description":"Ignore missing users and return users that were found. The data source will still fail if no users are found","description_kind":"plain","optional":true},"mail_nicknames":{"type":["list","string"],"description":"The email aliases of the users","description_kind":"plain","optional":true,"computed":true},"object_ids":{"type":["list","string"],"description":"The object IDs of the users","description_kind":"plain","optional":true,"computed":true},"return_all":{"type":"bool","description":"Fetch all users with no filter and return all that were found. The data source will still fail if no users are found.","description_kind":"plain","optional":true},"user_principal_names":{"type":["list","string"],"description":"The user principal names (UPNs) of the users","description_kind":"plain","optional":true,"computed":true},"users":{"type":["list",["object",{"account_enabled":"bool","display_name":"string","employee_id":"string","mail":"string","mail_nickname":"string","object_id":"string","onpremises_immutable_id":"string","onpremises_sam_account_name":"string","onpremises_user_principal_name":"string","usage_location":"string","user_principal_name":"string"}]],"description":"A list of users","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"read":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}}}}} diff --git a/examples-generated/applications/v1beta1/certificate.yaml b/examples-generated/applications/v1beta1/certificate.yaml index 27d6b556..b0feaff5 100644 --- a/examples-generated/applications/v1beta1/certificate.yaml +++ b/examples-generated/applications/v1beta1/certificate.yaml @@ -8,7 +8,7 @@ metadata: name: example spec: forProvider: - applicationObjectIdSelector: + applicationIdSelector: matchLabels: testing.upbound.io/example-name: example endDate: "2021-05-01T01:02:03Z" @@ -17,17 +17,3 @@ spec: key: attribute.cert.pem name: example-secret namespace: upbound-system - ---- - -apiVersion: applications.azuread.upbound.io/v1beta1 -kind: Application -metadata: - annotations: - meta.upbound.io/example-id: applications/v1beta1/certificate - labels: - testing.upbound.io/example-name: example - name: example -spec: - forProvider: - displayName: example diff --git a/examples-generated/applications/v1beta1/federatedidentitycredential.yaml b/examples-generated/applications/v1beta1/federatedidentitycredential.yaml index 2b0b02d9..869e68e0 100644 --- a/examples-generated/applications/v1beta1/federatedidentitycredential.yaml +++ b/examples-generated/applications/v1beta1/federatedidentitycredential.yaml @@ -8,26 +8,10 @@ metadata: name: example spec: forProvider: - applicationObjectIdSelector: - matchLabels: - testing.upbound.io/example-name: example + applicationId: ${azuread_application_registration.example.id} audiences: - api://AzureADTokenExchange description: Deployments for my-repo displayName: my-repo-deploy issuer: https://token.actions.githubusercontent.com subject: repo:my-organization/my-repo:environment:prod - ---- - -apiVersion: applications.azuread.upbound.io/v1beta1 -kind: Application -metadata: - annotations: - meta.upbound.io/example-id: applications/v1beta1/federatedidentitycredential - labels: - testing.upbound.io/example-name: example - name: example -spec: - forProvider: - displayName: example diff --git a/examples-generated/applications/v1beta1/password.yaml b/examples-generated/applications/v1beta1/password.yaml index 8ef4f871..11f286f5 100644 --- a/examples-generated/applications/v1beta1/password.yaml +++ b/examples-generated/applications/v1beta1/password.yaml @@ -8,20 +8,4 @@ metadata: name: example spec: forProvider: - applicationObjectIdSelector: - matchLabels: - testing.upbound.io/example-name: example - ---- - -apiVersion: applications.azuread.upbound.io/v1beta1 -kind: Application -metadata: - annotations: - meta.upbound.io/example-id: applications/v1beta1/password - labels: - testing.upbound.io/example-name: example - name: example -spec: - forProvider: - displayName: example + applicationId: ${azuread_application_registration.example.id} diff --git a/examples-generated/applications/v1beta1/preauthorized.yaml b/examples-generated/applications/v1beta1/preauthorized.yaml index 96db7593..c1fd1319 100644 --- a/examples-generated/applications/v1beta1/preauthorized.yaml +++ b/examples-generated/applications/v1beta1/preauthorized.yaml @@ -8,29 +8,13 @@ metadata: name: example spec: forProvider: - applicationObjectIdSelector: + applicationIdSelector: matchLabels: testing.upbound.io/example-name: authorizer - authorizedAppIdSelector: - matchLabels: - testing.upbound.io/example-name: authorized + authorizedClientId: ${azuread_application_registration.authorized.client_id} permissionIds: - - ced9c4c3-c273-4f0f-ac71-a20377b90f9c - - 2d5e07ca-664d-4d9b-ad61-ec07fd215213 - ---- - -apiVersion: applications.azuread.upbound.io/v1beta1 -kind: Application -metadata: - annotations: - meta.upbound.io/example-id: applications/v1beta1/preauthorized - labels: - testing.upbound.io/example-name: authorized - name: authorized -spec: - forProvider: - displayName: example-authorized-app + - 00000000-0000-0000-0000-000000000000 + - 11111111-1111-1111-1111-111111111111 --- @@ -49,13 +33,13 @@ spec: - adminConsentDescription: Administer the application adminConsentDisplayName: Administer enabled: true - id: ced9c4c3-c273-4f0f-ac71-a20377b90f9c + id: 00000000-0000-0000-0000-000000000000 type: Admin value: administer - adminConsentDescription: Access the application adminConsentDisplayName: Access enabled: true - id: 2d5e07ca-664d-4d9b-ad61-ec07fd215213 + id: 11111111-1111-1111-1111-111111111111 type: User userConsentDescription: Access the application userConsentDisplayName: Access diff --git a/examples-generated/serviceprincipals/v1beta1/principal.yaml b/examples-generated/serviceprincipals/v1beta1/principal.yaml index 218d97ee..970788a2 100644 --- a/examples-generated/serviceprincipals/v1beta1/principal.yaml +++ b/examples-generated/serviceprincipals/v1beta1/principal.yaml @@ -9,7 +9,7 @@ metadata: spec: forProvider: appRoleAssignmentRequired: false - applicationIdSelector: + clientIdSelector: matchLabels: testing.upbound.io/example-name: example owners: diff --git a/go.mod b/go.mod index cc5fac72..12412a0b 100644 --- a/go.mod +++ b/go.mod @@ -4,13 +4,15 @@ module github.com/upbound/provider-azuread -go 1.21 +go 1.21.3 + +toolchain go1.21.8 require ( dario.cat/mergo v1.0.0 github.com/crossplane/crossplane-runtime v1.15.1 github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 - github.com/crossplane/upjet v1.1.5 + github.com/crossplane/upjet v1.3.0-rc.0.0.20240306105015-363f66c52d2c github.com/hashicorp/terraform-json v0.17.1 github.com/hashicorp/terraform-plugin-sdk/v2 v2.30.0 github.com/hashicorp/terraform-provider-azuread v1.6.1-0.20230727144955-0adfe586f500 @@ -56,15 +58,15 @@ require ( github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.4.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-azure-helpers v0.56.0 // indirect - github.com/hashicorp/go-azure-sdk v0.20230511.1094507 // indirect + github.com/hashicorp/go-azure-helpers v0.62.0 // indirect + github.com/hashicorp/go-azure-sdk v0.20231018.1171511 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-plugin v1.5.1 // indirect - github.com/hashicorp/go-retryablehttp v0.7.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.4 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hc-install v0.6.1 // indirect @@ -74,16 +76,17 @@ require ( github.com/hashicorp/terraform-plugin-framework v1.4.1 // indirect github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect + github.com/hashicorp/terraform-plugin-testing v1.5.1 // indirect github.com/hashicorp/terraform-registry-address v0.2.2 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect - github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect - github.com/manicminer/hamilton v0.63.0 // indirect + github.com/manicminer/hamilton v0.65.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect @@ -107,8 +110,8 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/tmccombs/hcl2json v0.3.3 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect - github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect - github.com/vmihailenco/tagparser v0.1.2 // indirect + github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect + github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/yuin/goldmark v1.5.3 // indirect github.com/zclconf/go-cty v1.14.1 // indirect github.com/zclconf/go-cty-yaml v1.0.3 // indirect @@ -144,14 +147,6 @@ require ( software.sslmate.com/src/go-pkcs12 v0.2.0 // indirect ) -replace github.com/hashicorp/terraform-provider-azuread => github.com/upbound/terraform-provider-azuread v0.0.0-20231122090232-7e2fcc6d8d67 - -replace golang.org/x/exp => golang.org/x/exp v0.0.0-20231006140011-7918f672742d - -replace github.com/hashicorp/terraform-json => github.com/hashicorp/terraform-json v0.16.0 - -replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 - -replace github.com/hashicorp/terraform-plugin-go => github.com/hashicorp/terraform-plugin-go v0.14.3 +replace github.com/hashicorp/terraform-provider-azuread => github.com/upbound/terraform-provider-azuread v0.0.0-20240311141618-ce1f46c21020 -replace github.com/hashicorp/terraform-plugin-framework => github.com/hashicorp/terraform-plugin-framework v1.2.0 +replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 diff --git a/go.sum b/go.sum index 6981e4c3..513bab1c 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +1,602 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/Azure/azure-sdk-for-go v66.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= @@ -16,34 +610,43 @@ github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYX github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/kong v0.2.16/go.mod h1:kQOmtJgV+Lb4aj+I2LEn40cbtawdWJ9Y8QLq+lElKxE= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antchfx/htmlquery v1.2.4 h1:qLteofCMe/KGovBI6SQgmou2QNyedFUW+pE+BpeZ494= github.com/antchfx/htmlquery v1.2.4/go.mod h1:2xO6iu3EVWs7R2JYqBbp8YzG50gj/ofqs5/0VZoDZLc= github.com/antchfx/xpath v1.2.0 h1:mbwv7co+x0RwgeGAOHdrKy89GvHaGvxxBtPK0uF9Zr8= github.com/antchfx/xpath v1.2.0/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= @@ -56,31 +659,47 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/crossplane/crossplane-runtime v1.15.1 h1:g1h75tNYOQT152IUNxs8ZgSsRFQKrZN9z69KefMujXs= github.com/crossplane/crossplane-runtime v1.15.1/go.mod h1:kRcJjJQmBFrR2n/KhwL8wYS7xNfq3D8eK4JliEScOHI= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 h1:HigXs5tEQxWz0fcj8hzbU2UAZgEM7wPe0XRFOsrtF8Y= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79/go.mod h1:+e4OaFlOcmr0JvINHl/yvEYBrZawzTgj6pQumOH1SS0= -github.com/crossplane/upjet v1.1.5 h1:Ad/fOoPqib9WlbgZ7/bkMfyvDFymodKiJBkDklQQyvE= -github.com/crossplane/upjet v1.1.5/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= +github.com/crossplane/upjet v1.3.0-rc.0.0.20240306105015-363f66c52d2c h1:xMVwSGBdtjon6FQ+AezoeYfhLuY7UuQqQCqY6VnEdqs= +github.com/crossplane/upjet v1.3.0-rc.0.0.20240306105015-363f66c52d2c/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= @@ -88,17 +707,29 @@ github.com/dave/jennifer v1.4.1/go.mod h1:7jEdnm+qBcxl8PC0zyp7vxcpSRnzXSt9r39tpT github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.8.0 h1:lRj6N9Nci7MvzrXuX6HFzU8XjmhPiXPlsKEy1u0KQro= @@ -109,22 +740,32 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY= github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -136,6 +777,8 @@ github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2Kv github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= @@ -143,16 +786,29 @@ github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA= github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -161,6 +817,7 @@ github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -170,20 +827,31 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/addlicense v0.0.0-20210428195630-6d92264d7170/go.mod h1:EMjYTRimagHs1FwlIqKyX3wAM0u3rA+McvlIIWmSamA= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -191,22 +859,64 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20240117000934-35fc243c5815 h1:WzfWbQz/Ze8v6l++GGbGNFZnUShVpP/0xffCPLL+ax8= github.com/google/pprof v0.0.0-20240117000934-35fc243c5815/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-azure-helpers v0.55.0/go.mod h1:RQugkG8wEcNIjYmcBLHpuEI/u2mTJwO4r37rR/OKRpo= -github.com/hashicorp/go-azure-helpers v0.56.0 h1:KxDXISHwWe4PKEz6FSSPG8vCXNrFGsCcCn/AI94ccig= -github.com/hashicorp/go-azure-helpers v0.56.0/go.mod h1:MbnCV9jPmlkbdH7VsoBK8IbCHvo3pLWRbRvq+F6u9sI= +github.com/hashicorp/go-azure-helpers v0.62.0 h1:3Ob1yFAO71Pbdnm14HUI4dGZUaO/Nqmncu5cKMGsDBg= +github.com/hashicorp/go-azure-helpers v0.62.0/go.mod h1:ELmZ65vzHJNTk6ml4jsPD+xq2gZb7t78D35s+XN02Kk= github.com/hashicorp/go-azure-sdk v0.20230331.1143618/go.mod h1:L9JXVUcnL0GjMizCnngYUlMp1lLhDBNgSTvn6Of/5O4= -github.com/hashicorp/go-azure-sdk v0.20230511.1094507 h1:uvmyrTZAHXtHzwkuHtjD889OyH3c4ul1IuPiegm/uag= -github.com/hashicorp/go-azure-sdk v0.20230511.1094507/go.mod h1:x2r7/U5MKlTHUO6/hFHRNO03qkRLBYyeQOuEUHkZmEg= +github.com/hashicorp/go-azure-sdk v0.20231018.1171511 h1:n+i2b1vZ5FX/KiIvRgKtMbUAPB2aGxUrAsS0PilCcMo= +github.com/hashicorp/go-azure-sdk v0.20231018.1171511/go.mod h1:3IQjdvuhEckMgdWpvQs4e4VdiiRLIm4z82kO814t/Lw= github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -218,49 +928,52 @@ github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBM github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-hclog v1.4.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.4.8/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.6/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= -github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0= github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= +github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZnpUv3/+BxzFA= +github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hc-install v0.5.0/go.mod h1:JyzMfbzfSBSjoDCRPna1vi/24BEDxFaCPfdHtM5SCdo= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= github.com/hashicorp/hc-install v0.6.1 h1:IGxShH7AVhPaSuSJpKtVi/EFORNjO+OYVJJrAtGG2mY= github.com/hashicorp/hc-install v0.6.1/go.mod h1:0fW3jpg+wraYSnFDJ6Rlie3RvLf1bIqVIkzoon4KoVE= github.com/hashicorp/hcl/v2 v2.9.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= -github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.18.0/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI= github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= github.com/hashicorp/terraform-exec v0.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM= github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg= -github.com/hashicorp/terraform-json v0.16.0 h1:UKkeWRWb23do5LNAFlh/K3N0ymn1qTOO8c+85Albo3s= -github.com/hashicorp/terraform-json v0.16.0/go.mod h1:v0Ufk9jJnk6tcIZvScHvetlKfiNTC+WS21mnXIlc0B0= -github.com/hashicorp/terraform-plugin-framework v1.2.0 h1:MZjFFfULnFq8fh04FqrKPcJ/nGpHOvX4buIygT3MSNY= -github.com/hashicorp/terraform-plugin-framework v1.2.0/go.mod h1:nToI62JylqXDq84weLJ/U3umUsBhZAaTmU0HXIVUOcw= -github.com/hashicorp/terraform-plugin-go v0.14.3 h1:nlnJ1GXKdMwsC8g1Nh05tK2wsC3+3BL/DBBxFEki+j0= -github.com/hashicorp/terraform-plugin-go v0.14.3/go.mod h1:7ees7DMZ263q8wQ6E4RdIdR6nHHJtrdt4ogX5lPkX1A= +github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= +github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= +github.com/hashicorp/terraform-plugin-framework v1.4.1 h1:ZC29MoB3Nbov6axHdgPbMz7799pT5H8kIrM8YAsaVrs= +github.com/hashicorp/terraform-plugin-framework v1.4.1/go.mod h1:XC0hPcQbBvlbxwmjxuV/8sn8SbZRg4XwGMs22f+kqV0= +github.com/hashicorp/terraform-plugin-go v0.14.1/go.mod h1:Bc/K6K26BQ2FHqIELPbpKtt2CzzbQou+0UQF3/0NsCQ= +github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= +github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= github.com/hashicorp/terraform-plugin-log v0.7.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= -github.com/hashicorp/terraform-plugin-log v0.8.0/go.mod h1:1myFrhVsBLeylQzYYEV17VVjtG8oYPRFdaZs7xdW2xs= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 h1:G9WAfb8LHeCxu7Ae8nc1agZlQOSCUWsb610iAogBhCs= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1/go.mod h1:xcOSYlRVdPLmDUoqPhO9fiO/YCN/l6MGYeTzGt5jgkQ= -github.com/hashicorp/terraform-registry-address v0.1.0/go.mod h1:EnyO2jYO6j29DTHbJcm00E5nQTFeTtyZH3H5ycydQ5A= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 h1:wcOKYwPI9IorAJEBLzgclh3xVolO7ZorYd6U1vnok14= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= +github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c= +github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0= +github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c/go.mod h1:Wn3Na71knbXc1G8Lh+yu/dQWWJeFQEpDeJMtWMtlmNI= github.com/hashicorp/terraform-registry-address v0.2.2 h1:lPQBg403El8PPicg/qONZJDC6YlgCVbWDtNmmZKtBno= github.com/hashicorp/terraform-registry-address v0.2.2/go.mod h1:LtwNbCihUoUZ3RYriyS2wF/lGPB6gF9ICLRtuDk7hSo= github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= @@ -268,14 +981,16 @@ github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= -github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= @@ -283,21 +998,33 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -307,10 +1034,13 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/manicminer/hamilton v0.63.0 h1:Pxh+TvuRhGsKl29v3dnzAoNJYUwqn6SNp/TGddg3g7E= -github.com/manicminer/hamilton v0.63.0/go.mod h1:va/X2sztcgQ5+BSxc2eU3FTHYIyxLnHvB4LudlPUZdE= +github.com/manicminer/hamilton v0.65.0 h1:fCDLn+BqmM5bgFHSVzV6GVcb0o5S/oxA6Xp+COxKuNo= +github.com/manicminer/hamilton v0.65.0/go.mod h1:va/X2sztcgQ5+BSxc2eU3FTHYIyxLnHvB4LudlPUZdE= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -326,13 +1056,15 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= @@ -347,6 +1079,7 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -357,6 +1090,7 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m github.com/muvaf/typewriter v0.0.0-20220131201631-921e94e8e8d7 h1:CxRHKnh1YJXgNKxcos9rrKL6AcmOl1AS/fygmxFDzh4= github.com/muvaf/typewriter v0.0.0-20220131201631-921e94e8e8d7/go.mod h1:SAAdeMEiFXR8LcHffvIdiLI1w243DCH2DuHq7UrA5YQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= @@ -368,36 +1102,57 @@ github.com/onsi/ginkgo/v2 v2.14.0 h1:vSmGj2Z5YPb9JwCWT6z6ihcUvDhuXLc3sJiqd3jMKAY github.com/onsi/ginkgo/v2 v2.14.0/go.mod h1:JkUdW7JkN0V6rFvsHcJ478egV3XH9NxpD27Hal/PhZw= github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -407,7 +1162,6 @@ github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= @@ -420,28 +1174,30 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tmccombs/hcl2json v0.3.3 h1:+DLNYqpWE0CsOQiEZu+OZm5ZBImake3wtITYxQ8uLFQ= github.com/tmccombs/hcl2json v0.3.3/go.mod h1:Y2chtz2x9bAeRTvSibVRVgbLJhLJXKlUeIvjeVdnm4w= -github.com/upbound/terraform-provider-azuread v0.0.0-20231122090232-7e2fcc6d8d67 h1:Gjs5840MtuFAqCqeRTpd3HxzSBSydUXH9dszVLQvG5I= -github.com/upbound/terraform-provider-azuread v0.0.0-20231122090232-7e2fcc6d8d67/go.mod h1:FPBStSHIBUhggh9nR401e++98vmPhz3Q3ROmZmUR6FM= +github.com/upbound/terraform-provider-azuread v0.0.0-20240311141618-ce1f46c21020 h1:BP26QEhnXcWxbJpbOT+e4bP+c9FTvqhGbtnkwXerOhA= +github.com/upbound/terraform-provider-azuread v0.0.0-20240311141618-ce1f46c21020/go.mod h1:iVryf2s08Hi6HLHh4W40fudtInXuK5Y1cWVOM/3szT8= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/goldmark v1.5.3 h1:3HUJmBFbQW9fhQOzMgseU134xfi6hU+mjWywx5Ty+/M= github.com/yuin/goldmark v1.5.3/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= @@ -452,51 +1208,120 @@ github.com/zclconf/go-cty v1.8.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUA github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA= github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.3 h1:og/eOQ7lvA/WWhHGFETVWNduJM7Rjsv2RRpx1sdFMLc= github.com/zclconf/go-cty-yaml v1.0.3/go.mod h1:9YLUH4g7lOhVWqUbctnVlZ5KLpg7JAprQNgxSZ1Gyxs= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= +golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -507,140 +1332,395 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= @@ -648,23 +1728,189 @@ google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAs google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -681,6 +1927,9 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= @@ -691,6 +1940,7 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= @@ -705,11 +1955,16 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= k8s.io/apiextensions-apiserver v0.29.1 h1:S9xOtyk9M3Sk1tIpQMu9wXHm5O2MX6Y1kIpPMimZBZw= @@ -726,6 +1981,44 @@ k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/A k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0= sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= sigs.k8s.io/controller-tools v0.14.0 h1:rnNoCC5wSXlrNoBKKzL70LNJKIQKEzT6lloG6/LF73A= diff --git a/package/crds/administrativeunits.azuread.upbound.io_members.yaml b/package/crds/administrativeunits.azuread.upbound.io_members.yaml index ec736aa3..a2424d1d 100644 --- a/package/crds/administrativeunits.azuread.upbound.io_members.yaml +++ b/package/crds/administrativeunits.azuread.upbound.io_members.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/administrativeunits.azuread.upbound.io_units.yaml b/package/crds/administrativeunits.azuread.upbound.io_units.yaml index 81c08d5d..351d27a5 100644 --- a/package/crds/administrativeunits.azuread.upbound.io_units.yaml +++ b/package/crds/administrativeunits.azuread.upbound.io_units.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/app.azuread.upbound.io_roleassignments.yaml b/package/crds/app.azuread.upbound.io_roleassignments.yaml index e4fc50b1..544a4d82 100644 --- a/package/crds/app.azuread.upbound.io_roleassignments.yaml +++ b/package/crds/app.azuread.upbound.io_roleassignments.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/applications.azuread.upbound.io_applications.yaml b/package/crds/applications.azuread.upbound.io_applications.yaml index de43ce73..cdd96618 100644 --- a/package/crds/applications.azuread.upbound.io_applications.yaml +++ b/package/crds/applications.azuread.upbound.io_applications.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -281,7 +281,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -309,7 +309,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -338,7 +338,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -740,7 +740,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -768,7 +768,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -797,7 +797,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -1277,9 +1277,12 @@ spec: type: object x-kubernetes-map-type: granular applicationId: + description: The Application ID (also called Client ID) + type: string + clientId: description: |- - The Application ID (also called Client ID). - The Application ID (also called Client ID) + The Client ID for the application. + The Client ID (also called Application ID) type: string description: description: |- @@ -1343,8 +1346,6 @@ spec: type: array x-kubernetes-list-type: set id: - description: The unique identifier for an app role or OAuth2 permission - scope published by the resource application. type: string identifierUris: description: |- @@ -1403,7 +1404,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -1431,7 +1432,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string @@ -1460,7 +1461,7 @@ spec: properties: additionalProperties: description: |- - List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. + List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim. Possible values are: cloud_displayname, dns_domain_and_sam_account_name, emit_as_roles, include_externally_authenticated_upn_without_hash, include_externally_authenticated_upn, max_size_limit, netbios_domain_and_sam_account_name, on_premise_security_identifier, sam_account_name, and use_guid. List of additional properties of the claim. If a property exists in this list, it modifies the behaviour of the optional claim items: type: string diff --git a/package/crds/applications.azuread.upbound.io_certificates.yaml b/package/crds/applications.azuread.upbound.io_certificates.yaml index 1fbde9cb..8e43b922 100644 --- a/package/crds/applications.azuread.upbound.io_certificates.yaml +++ b/package/crds/applications.azuread.upbound.io_certificates.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -72,10 +72,90 @@ spec: type: string forProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this certificate should be created + The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this certificate should be created + type: string + applicationIdRef: + description: Reference to a Application in applications to populate + applicationId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + applicationIdSelector: + description: Selector for a Application in applications to populate + applicationId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + applicationObjectId: + description: The object ID of the application for which this certificate + should be created type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -184,7 +264,7 @@ spec: valueSecretRef: description: |- The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the encoding argument. - The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argumen + The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argument properties: key: description: The key to select. @@ -214,10 +294,90 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this certificate should be created + The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this certificate should be created + type: string + applicationIdRef: + description: Reference to a Application in applications to populate + applicationId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + applicationIdSelector: + description: Selector for a Application in applications to populate + applicationId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + applicationObjectId: + description: The object ID of the application for which this certificate + should be created type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -500,10 +660,14 @@ spec: properties: atProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this certificate should be created + The resource ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this certificate should be created + type: string + applicationObjectId: + description: The object ID of the application for which this certificate + should be created type: string encoding: description: |- diff --git a/package/crds/applications.azuread.upbound.io_federatedidentitycredentials.yaml b/package/crds/applications.azuread.upbound.io_federatedidentitycredentials.yaml index b6a53e6a..d7670594 100644 --- a/package/crds/applications.azuread.upbound.io_federatedidentitycredentials.yaml +++ b/package/crds/applications.azuread.upbound.io_federatedidentitycredentials.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -74,10 +74,14 @@ spec: type: string forProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this federated identity credential should be created + The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this federated identity credential should be created + type: string + applicationObjectId: + description: The object ID of the application for which this federated + identity credential should be created type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -194,10 +198,14 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this federated identity credential should be created + The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this federated identity credential should be created + type: string + applicationObjectId: + description: The object ID of the application for which this federated + identity credential should be created type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -491,10 +499,14 @@ spec: properties: atProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this federated identity credential should be created + The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this federated identity credential should be created + type: string + applicationObjectId: + description: The object ID of the application for which this federated + identity credential should be created type: string audiences: description: |- diff --git a/package/crds/applications.azuread.upbound.io_passwords.yaml b/package/crds/applications.azuread.upbound.io_passwords.yaml index 869acd43..741d146c 100644 --- a/package/crds/applications.azuread.upbound.io_passwords.yaml +++ b/package/crds/applications.azuread.upbound.io_passwords.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -72,10 +72,14 @@ spec: type: string forProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this password should be created + The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this password should be created + type: string + applicationObjectId: + description: The object ID of the application for which this password + should be created type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -193,10 +197,14 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this password should be created + The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this password should be created + type: string + applicationObjectId: + description: The object ID of the application for which this password + should be created type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -473,10 +481,14 @@ spec: properties: atProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. - The object ID of the application for which this password should be created + The resource ID of the application for which this password should be created. Changing this field forces a new resource to be created. + The resource ID of the application for which this password should be created + type: string + applicationObjectId: + description: The object ID of the application for which this password + should be created type: string displayName: description: |- diff --git a/package/crds/applications.azuread.upbound.io_preauthorizeds.yaml b/package/crds/applications.azuread.upbound.io_preauthorizeds.yaml index 6e5c008d..331c9da5 100644 --- a/package/crds/applications.azuread.upbound.io_preauthorizeds.yaml +++ b/package/crds/applications.azuread.upbound.io_preauthorizeds.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -72,10 +72,90 @@ spec: type: string forProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. - The object ID of the application to which this pre-authorized application should be added + The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + The resource ID of the application to which this pre-authorized application should be added + type: string + applicationIdRef: + description: Reference to a Application in applications to populate + applicationId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + applicationIdSelector: + description: Selector for a Application in applications to populate + applicationId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + applicationObjectId: + description: The object ID of the application to which this pre-authorized + application should be added type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -228,6 +308,11 @@ spec: type: string type: object type: object + authorizedClientId: + description: |- + The client ID of the application being authorized. Changing this field forces a new resource to be created. + The client ID of the pre-authorized application + type: string permissionIds: description: |- A set of permission scope IDs required by the authorized application. @@ -250,10 +335,90 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. - The object ID of the application to which this pre-authorized application should be added + The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + The resource ID of the application to which this pre-authorized application should be added + type: string + applicationIdRef: + description: Reference to a Application in applications to populate + applicationId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + applicationIdSelector: + description: Selector for a Application in applications to populate + applicationId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + applicationObjectId: + description: The object ID of the application to which this pre-authorized + application should be added type: string applicationObjectIdRef: description: Reference to a Application to populate applicationObjectId. @@ -406,6 +571,11 @@ spec: type: string type: object type: object + authorizedClientId: + description: |- + The client ID of the application being authorized. Changing this field forces a new resource to be created. + The client ID of the pre-authorized application + type: string permissionIds: description: |- A set of permission scope IDs required by the authorized application. @@ -592,14 +762,23 @@ spec: properties: atProvider: properties: - applicationObjectId: + applicationId: description: |- - The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. - The object ID of the application to which this pre-authorized application should be added + The resource ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. + The resource ID of the application to which this pre-authorized application should be added + type: string + applicationObjectId: + description: The object ID of the application to which this pre-authorized + application should be added type: string authorizedAppId: description: The application ID of the pre-authorized application type: string + authorizedClientId: + description: |- + The client ID of the application being authorized. Changing this field forces a new resource to be created. + The client ID of the pre-authorized application + type: string id: type: string permissionIds: diff --git a/package/crds/conditionalaccess.azuread.upbound.io_accesspolicies.yaml b/package/crds/conditionalaccess.azuread.upbound.io_accesspolicies.yaml index ea788a36..0351780f 100644 --- a/package/crds/conditionalaccess.azuread.upbound.io_accesspolicies.yaml +++ b/package/crds/conditionalaccess.azuread.upbound.io_accesspolicies.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -149,10 +149,7 @@ spec: items: properties: filter: - description: A filter block as described below. A - filter block can be added to an existing policy, - but removing the filter block forces a new resource - to be created. + description: A filter block as described below. items: properties: mode: @@ -245,6 +242,42 @@ spec: items: type: string type: array + excludedGuestsOrExternalUsers: + description: A guests_or_external_users block as documented + below, which specifies internal guests and external + users excluded from scope of policy. + items: + properties: + externalTenants: + description: An external_tenants block as documented + below, which specifies external tenants in + a policy scope. + items: + properties: + members: + description: A list tenant IDs. Can only + be specified if membership_kind is enumerated. + items: + type: string + type: array + membershipKind: + description: 'The external tenant membership + kind. Possible values are: all, enumerated, + unknownFutureValue.' + type: string + type: object + type: array + guestOrExternalUserTypes: + description: 'A list of guest or external user + types. Possible values are: b2bCollaborationGuest, + b2bCollaborationMember, b2bDirectConnectUser, + internalGuest, none, otherExternalUser, serviceProvider, + unknownFutureValue.' + items: + type: string + type: array + type: object + type: array excludedRoles: description: A list of role IDs excluded from scope of policy. @@ -263,6 +296,42 @@ spec: items: type: string type: array + includedGuestsOrExternalUsers: + description: A guests_or_external_users block as documented + below, which specifies internal guests and external + users in scope of policy. + items: + properties: + externalTenants: + description: An external_tenants block as documented + below, which specifies external tenants in + a policy scope. + items: + properties: + members: + description: A list tenant IDs. Can only + be specified if membership_kind is enumerated. + items: + type: string + type: array + membershipKind: + description: 'The external tenant membership + kind. Possible values are: all, enumerated, + unknownFutureValue.' + type: string + type: object + type: array + guestOrExternalUserTypes: + description: 'A list of guest or external user + types. Possible values are: b2bCollaborationGuest, + b2bCollaborationMember, b2bDirectConnectUser, + internalGuest, none, otherExternalUser, serviceProvider, + unknownFutureValue.' + items: + type: string + type: array + type: object + type: array includedRoles: description: A list of role IDs in scope of policy unless explicitly excluded. @@ -288,6 +357,10 @@ spec: the policy. items: properties: + authenticationStrengthPolicyId: + description: ID of an Authentication Strength Policy to + use in this policy. + type: string builtInControls: description: 'List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, @@ -319,8 +392,8 @@ spec: items: properties: applicationEnforcedRestrictionsEnabled: - description: Whether or not application enforced restrictions - are enabled. Defaults to false. + description: Whether application enforced restrictions are + enabled. Defaults to false. type: boolean cloudAppSecurityPolicy: description: 'Enables cloud app security and specifies the @@ -332,19 +405,26 @@ spec: type: boolean persistentBrowserMode: description: 'Session control to define whether to persist - cookies or not. Possible values are: always or never.' + cookies. Possible values are: always or never.' type: string signInFrequency: description: Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. - Due to an API issue, removing this property forces a new - resource to be created. type: number + signInFrequencyAuthenticationType: + description: 'Authentication type for enforcing sign-in + frequency. Possible values are: primaryAndSecondaryAuthentication + or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication.' + type: string + signInFrequencyInterval: + description: 'The interval to apply to sign-in frequency + control. Possible values are: timeBased or everyTime. + Defaults to timeBased.' + type: string signInFrequencyPeriod: description: 'The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period - is specified. Due to an API issue, removing this property - forces a new resource to be created.' + is specified.' type: string type: object type: array @@ -443,10 +523,7 @@ spec: items: properties: filter: - description: A filter block as described below. A - filter block can be added to an existing policy, - but removing the filter block forces a new resource - to be created. + description: A filter block as described below. items: properties: mode: @@ -539,6 +616,42 @@ spec: items: type: string type: array + excludedGuestsOrExternalUsers: + description: A guests_or_external_users block as documented + below, which specifies internal guests and external + users excluded from scope of policy. + items: + properties: + externalTenants: + description: An external_tenants block as documented + below, which specifies external tenants in + a policy scope. + items: + properties: + members: + description: A list tenant IDs. Can only + be specified if membership_kind is enumerated. + items: + type: string + type: array + membershipKind: + description: 'The external tenant membership + kind. Possible values are: all, enumerated, + unknownFutureValue.' + type: string + type: object + type: array + guestOrExternalUserTypes: + description: 'A list of guest or external user + types. Possible values are: b2bCollaborationGuest, + b2bCollaborationMember, b2bDirectConnectUser, + internalGuest, none, otherExternalUser, serviceProvider, + unknownFutureValue.' + items: + type: string + type: array + type: object + type: array excludedRoles: description: A list of role IDs excluded from scope of policy. @@ -557,6 +670,42 @@ spec: items: type: string type: array + includedGuestsOrExternalUsers: + description: A guests_or_external_users block as documented + below, which specifies internal guests and external + users in scope of policy. + items: + properties: + externalTenants: + description: An external_tenants block as documented + below, which specifies external tenants in + a policy scope. + items: + properties: + members: + description: A list tenant IDs. Can only + be specified if membership_kind is enumerated. + items: + type: string + type: array + membershipKind: + description: 'The external tenant membership + kind. Possible values are: all, enumerated, + unknownFutureValue.' + type: string + type: object + type: array + guestOrExternalUserTypes: + description: 'A list of guest or external user + types. Possible values are: b2bCollaborationGuest, + b2bCollaborationMember, b2bDirectConnectUser, + internalGuest, none, otherExternalUser, serviceProvider, + unknownFutureValue.' + items: + type: string + type: array + type: object + type: array includedRoles: description: A list of role IDs in scope of policy unless explicitly excluded. @@ -582,6 +731,10 @@ spec: the policy. items: properties: + authenticationStrengthPolicyId: + description: ID of an Authentication Strength Policy to + use in this policy. + type: string builtInControls: description: 'List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, @@ -613,8 +766,8 @@ spec: items: properties: applicationEnforcedRestrictionsEnabled: - description: Whether or not application enforced restrictions - are enabled. Defaults to false. + description: Whether application enforced restrictions are + enabled. Defaults to false. type: boolean cloudAppSecurityPolicy: description: 'Enables cloud app security and specifies the @@ -626,19 +779,26 @@ spec: type: boolean persistentBrowserMode: description: 'Session control to define whether to persist - cookies or not. Possible values are: always or never.' + cookies. Possible values are: always or never.' type: string signInFrequency: description: Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. - Due to an API issue, removing this property forces a new - resource to be created. type: number + signInFrequencyAuthenticationType: + description: 'Authentication type for enforcing sign-in + frequency. Possible values are: primaryAndSecondaryAuthentication + or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication.' + type: string + signInFrequencyInterval: + description: 'The interval to apply to sign-in frequency + control. Possible values are: timeBased or everyTime. + Defaults to timeBased.' + type: string signInFrequencyPeriod: description: 'The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period - is specified. Due to an API issue, removing this property - forces a new resource to be created.' + is specified.' type: string type: object type: array @@ -909,10 +1069,7 @@ spec: items: properties: filter: - description: A filter block as described below. A - filter block can be added to an existing policy, - but removing the filter block forces a new resource - to be created. + description: A filter block as described below. items: properties: mode: @@ -1005,6 +1162,42 @@ spec: items: type: string type: array + excludedGuestsOrExternalUsers: + description: A guests_or_external_users block as documented + below, which specifies internal guests and external + users excluded from scope of policy. + items: + properties: + externalTenants: + description: An external_tenants block as documented + below, which specifies external tenants in + a policy scope. + items: + properties: + members: + description: A list tenant IDs. Can only + be specified if membership_kind is enumerated. + items: + type: string + type: array + membershipKind: + description: 'The external tenant membership + kind. Possible values are: all, enumerated, + unknownFutureValue.' + type: string + type: object + type: array + guestOrExternalUserTypes: + description: 'A list of guest or external user + types. Possible values are: b2bCollaborationGuest, + b2bCollaborationMember, b2bDirectConnectUser, + internalGuest, none, otherExternalUser, serviceProvider, + unknownFutureValue.' + items: + type: string + type: array + type: object + type: array excludedRoles: description: A list of role IDs excluded from scope of policy. @@ -1023,6 +1216,42 @@ spec: items: type: string type: array + includedGuestsOrExternalUsers: + description: A guests_or_external_users block as documented + below, which specifies internal guests and external + users in scope of policy. + items: + properties: + externalTenants: + description: An external_tenants block as documented + below, which specifies external tenants in + a policy scope. + items: + properties: + members: + description: A list tenant IDs. Can only + be specified if membership_kind is enumerated. + items: + type: string + type: array + membershipKind: + description: 'The external tenant membership + kind. Possible values are: all, enumerated, + unknownFutureValue.' + type: string + type: object + type: array + guestOrExternalUserTypes: + description: 'A list of guest or external user + types. Possible values are: b2bCollaborationGuest, + b2bCollaborationMember, b2bDirectConnectUser, + internalGuest, none, otherExternalUser, serviceProvider, + unknownFutureValue.' + items: + type: string + type: array + type: object + type: array includedRoles: description: A list of role IDs in scope of policy unless explicitly excluded. @@ -1048,6 +1277,10 @@ spec: the policy. items: properties: + authenticationStrengthPolicyId: + description: ID of an Authentication Strength Policy to + use in this policy. + type: string builtInControls: description: 'List of built-in controls required by the policy. Possible values are: block, mfa, approvedApplication, @@ -1082,8 +1315,8 @@ spec: items: properties: applicationEnforcedRestrictionsEnabled: - description: Whether or not application enforced restrictions - are enabled. Defaults to false. + description: Whether application enforced restrictions are + enabled. Defaults to false. type: boolean cloudAppSecurityPolicy: description: 'Enables cloud app security and specifies the @@ -1095,19 +1328,26 @@ spec: type: boolean persistentBrowserMode: description: 'Session control to define whether to persist - cookies or not. Possible values are: always or never.' + cookies. Possible values are: always or never.' type: string signInFrequency: description: Number of days or hours to enforce sign-in frequency. Required when sign_in_frequency_period is specified. - Due to an API issue, removing this property forces a new - resource to be created. type: number + signInFrequencyAuthenticationType: + description: 'Authentication type for enforcing sign-in + frequency. Possible values are: primaryAndSecondaryAuthentication + or secondaryAuthentication. Defaults to primaryAndSecondaryAuthentication.' + type: string + signInFrequencyInterval: + description: 'The interval to apply to sign-in frequency + control. Possible values are: timeBased or everyTime. + Defaults to timeBased.' + type: string signInFrequencyPeriod: description: 'The time period to enforce sign-in frequency. Possible values are: hours or days. Required when sign_in_frequency_period - is specified. Due to an API issue, removing this property - forces a new resource to be created.' + is specified.' type: string type: object type: array diff --git a/package/crds/conditionalaccess.azuread.upbound.io_locations.yaml b/package/crds/conditionalaccess.azuread.upbound.io_locations.yaml index 76f16270..5ff4b1bc 100644 --- a/package/crds/conditionalaccess.azuread.upbound.io_locations.yaml +++ b/package/crds/conditionalaccess.azuread.upbound.io_locations.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -101,7 +101,7 @@ spec: ipRanges: description: List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF - RFC596. + RFC596. Each CIDR prefix must be /8 or larger. items: type: string type: array @@ -154,7 +154,7 @@ spec: ipRanges: description: List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF - RFC596. + RFC596. Each CIDR prefix must be /8 or larger. items: type: string type: array @@ -374,7 +374,7 @@ spec: ipRanges: description: List of IP address ranges in IPv4 CIDR format (e.g. 1.2.3.4/32) or any allowable IPv6 format from IETF - RFC596. + RFC596. Each CIDR prefix must be /8 or larger. items: type: string type: array diff --git a/package/crds/directoryroles.azuread.upbound.io_customdirectoryroles.yaml b/package/crds/directoryroles.azuread.upbound.io_customdirectoryroles.yaml index 7264d159..4f55385f 100644 --- a/package/crds/directoryroles.azuread.upbound.io_customdirectoryroles.yaml +++ b/package/crds/directoryroles.azuread.upbound.io_customdirectoryroles.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/directoryroles.azuread.upbound.io_roleassignments.yaml b/package/crds/directoryroles.azuread.upbound.io_roleassignments.yaml index 07bcf351..38d1512d 100644 --- a/package/crds/directoryroles.azuread.upbound.io_roleassignments.yaml +++ b/package/crds/directoryroles.azuread.upbound.io_roleassignments.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/directoryroles.azuread.upbound.io_roles.yaml b/package/crds/directoryroles.azuread.upbound.io_roles.yaml index 0a7aca94..cc89996f 100644 --- a/package/crds/directoryroles.azuread.upbound.io_roles.yaml +++ b/package/crds/directoryroles.azuread.upbound.io_roles.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/groups.azuread.upbound.io_groups.yaml b/package/crds/groups.azuread.upbound.io_groups.yaml index 856af795..bd23bf0c 100644 --- a/package/crds/groups.azuread.upbound.io_groups.yaml +++ b/package/crds/groups.azuread.upbound.io_groups.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/groups.azuread.upbound.io_members.yaml b/package/crds/groups.azuread.upbound.io_members.yaml index 8f3b4d35..9939571b 100644 --- a/package/crds/groups.azuread.upbound.io_members.yaml +++ b/package/crds/groups.azuread.upbound.io_members.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/invitations.azuread.upbound.io_invitations.yaml b/package/crds/invitations.azuread.upbound.io_invitations.yaml index 38b5abf1..916a2cc2 100644 --- a/package/crds/invitations.azuread.upbound.io_invitations.yaml +++ b/package/crds/invitations.azuread.upbound.io_invitations.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/policies.azuread.upbound.io_claimsmappingpolicies.yaml b/package/crds/policies.azuread.upbound.io_claimsmappingpolicies.yaml index 8fcfb8f0..f3b00b9d 100644 --- a/package/crds/policies.azuread.upbound.io_claimsmappingpolicies.yaml +++ b/package/crds/policies.azuread.upbound.io_claimsmappingpolicies.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/serviceprincipaldelegated.azuread.upbound.io_permissiongrants.yaml b/package/crds/serviceprincipaldelegated.azuread.upbound.io_permissiongrants.yaml index eba2b128..7f85b832 100644 --- a/package/crds/serviceprincipaldelegated.azuread.upbound.io_permissiongrants.yaml +++ b/package/crds/serviceprincipaldelegated.azuread.upbound.io_permissiongrants.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/serviceprincipals.azuread.upbound.io_certificates.yaml b/package/crds/serviceprincipals.azuread.upbound.io_certificates.yaml index 2c5614f7..08cae589 100644 --- a/package/crds/serviceprincipals.azuread.upbound.io_certificates.yaml +++ b/package/crds/serviceprincipals.azuread.upbound.io_certificates.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/serviceprincipals.azuread.upbound.io_claimsmappingpolicyassignments.yaml b/package/crds/serviceprincipals.azuread.upbound.io_claimsmappingpolicyassignments.yaml index 0fb1aca4..24d057cc 100644 --- a/package/crds/serviceprincipals.azuread.upbound.io_claimsmappingpolicyassignments.yaml +++ b/package/crds/serviceprincipals.azuread.upbound.io_claimsmappingpolicyassignments.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/serviceprincipals.azuread.upbound.io_passwords.yaml b/package/crds/serviceprincipals.azuread.upbound.io_passwords.yaml index 1a19bebb..22fbdedd 100644 --- a/package/crds/serviceprincipals.azuread.upbound.io_passwords.yaml +++ b/package/crds/serviceprincipals.azuread.upbound.io_passwords.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/serviceprincipals.azuread.upbound.io_principals.yaml b/package/crds/serviceprincipals.azuread.upbound.io_principals.yaml index 35a14015..2592356d 100644 --- a/package/crds/serviceprincipals.azuread.upbound.io_principals.yaml +++ b/package/crds/serviceprincipals.azuread.upbound.io_principals.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -92,7 +92,7 @@ spec: type: boolean applicationId: description: |- - The application ID (client ID) of the application for which to create a service principal. + The unique identifier of the app_role. The application ID (client ID) of the application for which to create a service principal type: string applicationIdRef: @@ -171,6 +171,87 @@ spec: type: string type: object type: object + clientId: + description: |- + The client ID of the application for which to create a service principal. + The client ID of the application for which to create a service principal + type: string + clientIdRef: + description: Reference to a Application in applications to populate + clientId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + clientIdSelector: + description: Selector for a Application in applications to populate + clientId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object description: description: |- A description of the service principal provided for internal end-users. @@ -295,7 +376,7 @@ spec: type: boolean applicationId: description: |- - The application ID (client ID) of the application for which to create a service principal. + The unique identifier of the app_role. The application ID (client ID) of the application for which to create a service principal type: string applicationIdRef: @@ -374,6 +455,87 @@ spec: type: string type: object type: object + clientId: + description: |- + The client ID of the application for which to create a service principal. + The client ID of the application for which to create a service principal + type: string + clientIdRef: + description: Reference to a Application in applications to populate + clientId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + clientIdSelector: + description: Selector for a Application in applications to populate + clientId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object description: description: |- A description of the service principal provided for internal end-users. @@ -699,7 +861,7 @@ spec: type: array applicationId: description: |- - The application ID (client ID) of the application for which to create a service principal. + The unique identifier of the app_role. The application ID (client ID) of the application for which to create a service principal type: string applicationTenantId: @@ -707,6 +869,11 @@ spec: The tenant ID where the associated application is registered. The tenant ID where the associated application is registered type: string + clientId: + description: |- + The client ID of the application for which to create a service principal. + The client ID of the application for which to create a service principal + type: string description: description: |- A description of the service principal provided for internal end-users. diff --git a/package/crds/serviceprincipals.azuread.upbound.io_tokensigningcertificates.yaml b/package/crds/serviceprincipals.azuread.upbound.io_tokensigningcertificates.yaml index 04510181..89e9ef1c 100644 --- a/package/crds/serviceprincipals.azuread.upbound.io_tokensigningcertificates.yaml +++ b/package/crds/serviceprincipals.azuread.upbound.io_tokensigningcertificates.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/synchronization.azuread.upbound.io_jobs.yaml b/package/crds/synchronization.azuread.upbound.io_jobs.yaml index 8b1c7b59..1f1c07c4 100644 --- a/package/crds/synchronization.azuread.upbound.io_jobs.yaml +++ b/package/crds/synchronization.azuread.upbound.io_jobs.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/synchronization.azuread.upbound.io_secrets.yaml b/package/crds/synchronization.azuread.upbound.io_secrets.yaml index d5369e8d..f4b076d7 100644 --- a/package/crds/synchronization.azuread.upbound.io_secrets.yaml +++ b/package/crds/synchronization.azuread.upbound.io_secrets.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string diff --git a/package/crds/users.azuread.upbound.io_users.yaml b/package/crds/users.azuread.upbound.io_users.yaml index 78428566..91cfc27b 100644 --- a/package/crds/users.azuread.upbound.io_users.yaml +++ b/package/crds/users.azuread.upbound.io_users.yaml @@ -19,12 +19,12 @@ spec: scope: Cluster versions: - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: READY - type: string - jsonPath: .status.conditions[?(@.type=='Synced')].status name: SYNCED type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string From 7976b528efc92067718d364e76ed77bbde128454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20T=C3=BCrken?= Date: Wed, 20 Mar 2024 18:06:34 +0300 Subject: [PATCH 2/2] Bump upjet to the commit 50919febc5ab MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fatih Türken --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 12412a0b..66ce1cd0 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( dario.cat/mergo v1.0.0 github.com/crossplane/crossplane-runtime v1.15.1 github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 - github.com/crossplane/upjet v1.3.0-rc.0.0.20240306105015-363f66c52d2c + github.com/crossplane/upjet v1.3.0-rc.0.0.20240319124750-50919febc5ab github.com/hashicorp/terraform-json v0.17.1 github.com/hashicorp/terraform-plugin-sdk/v2 v2.30.0 github.com/hashicorp/terraform-provider-azuread v1.6.1-0.20230727144955-0adfe586f500 diff --git a/go.sum b/go.sum index 513bab1c..c993df2e 100644 --- a/go.sum +++ b/go.sum @@ -698,8 +698,8 @@ github.com/crossplane/crossplane-runtime v1.15.1 h1:g1h75tNYOQT152IUNxs8ZgSsRFQK github.com/crossplane/crossplane-runtime v1.15.1/go.mod h1:kRcJjJQmBFrR2n/KhwL8wYS7xNfq3D8eK4JliEScOHI= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 h1:HigXs5tEQxWz0fcj8hzbU2UAZgEM7wPe0XRFOsrtF8Y= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79/go.mod h1:+e4OaFlOcmr0JvINHl/yvEYBrZawzTgj6pQumOH1SS0= -github.com/crossplane/upjet v1.3.0-rc.0.0.20240306105015-363f66c52d2c h1:xMVwSGBdtjon6FQ+AezoeYfhLuY7UuQqQCqY6VnEdqs= -github.com/crossplane/upjet v1.3.0-rc.0.0.20240306105015-363f66c52d2c/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= +github.com/crossplane/upjet v1.3.0-rc.0.0.20240319124750-50919febc5ab h1:MUCxcv3CzQyDxT6GNPaPCMZhGKYbnxRnUiLiOwTldE8= +github.com/crossplane/upjet v1.3.0-rc.0.0.20240319124750-50919febc5ab/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw=