Documentation ¶
Overview ¶
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0
Index ¶
- Constants
- Variables
- func AddArrayQueryParams(rawurl string, param string, values []interface{}) (string, error)
- func AddQueryParams(rawurl string, params map[string]string) (string, error)
- func ClientWithAdditionalRetries(baseClient *http.Client, predicates ...RetryErrorPredicateFunc) *http.Client
- func ConfigureBasePaths(c *Config)
- func ConfigureDCLCustomEndpointAttributesFramework(frameworkSchema *framework_schema.Schema)
- func ConfigureDCLProvider(provider *schema.Provider)
- func CustomEndpointValidator() validator.String
- func DatastoreIndex409Contention(err error) (bool, string)
- func ExternalIpServiceNotActive(err error) (bool, string)
- func FirestoreField409RetryUnderlyingDataChanged(err error) (bool, string)
- func FirestoreIndex409Retry(err error) (bool, string)
- func GetCurrentUserEmail(config *Config, userAgent string) (string, error)
- func GetRegionFromRegionSelfLink(selfLink string) string
- func GetUniverseDomainFromMeta(meta interface{}) string
- func HandleDCLCustomEndpointDefaults(d *schema.ResourceData)
- func HandleDataSourceNotFoundError(err error, d *schema.ResourceData, resource, url string) error
- func HandleNotFoundError(err error, d *schema.ResourceData, resource string) error
- func HandleSDKDefaults(d *schema.ResourceData) error
- func HealthcareDatasetNotInitialized(err error) (bool, string)
- func IamMemberMissing(err error) (bool, string)
- func IamServiceAccountNotFound(err error) (bool, string)
- func IapClient409Operation(err error) (bool, string)
- func Is429QuotaError(err error) (bool, string)
- func Is429RetryableQuotaError(err error) (bool, string)
- func IsApiNotEnabledError(err error) bool
- func IsApigeeRetryableError(err error) (bool, string)
- func IsAppEngineRetryableError(err error) (bool, string)
- func IsBigTableRetryableError(err error) (bool, string)
- func IsBigqueryIAMQuotaError(err error) (bool, string)
- func IsCloudRunCreationConflict(err error) (bool, string)
- func IsCryptoKeyVersionsPendingGeneration(err error) (bool, string)
- func IsDataflowJobUpdateRetryableError(err error) (bool, string)
- func IsFingerprintError(err error) (bool, string)
- func IsGoogleApiErrorWithCode(err error, errCode int) bool
- func IsMonitoringConcurrentEditError(err error) (bool, string)
- func IsMonitoringPermissionError(err error) (bool, string)
- func IsOrgpolicyRetryableError(err error) (bool, string)
- func IsPeeringOperationInProgress(err error) (bool, string)
- func IsRetryableError(topErr error, retryPredicates, abortPredicates []RetryErrorPredicateFunc) bool
- func IsSiteVerificationRetryableError(err error) (bool, string)
- func IsSqlOperationInProgressError(err error) (bool, string)
- func IsSwgAutogenRouterRetryable(err error) (bool, string)
- func LockedCall(lockKey string, f func() error) error
- func MetadataRetryWrapper(update func() error) error
- func MultiEnvDefault(ks []string, dv interface{}) interface{}
- func MultiEnvSearch(ks []string) string
- func NewDCLApikeysClient(config *Config, userAgent, billingProject string, timeout time.Duration) *apikeys.Client
- func NewDCLAssuredWorkloadsClient(config *Config, userAgent, billingProject string, timeout time.Duration) *assuredworkloads.Client
- func NewDCLCloudResourceManagerClient(config *Config, userAgent, billingProject string, timeout time.Duration) *cloudresourcemanager.Client
- func NewDCLCloudbuildClient(config *Config, userAgent, billingProject string, timeout time.Duration) *cloudbuild.Client
- func NewDCLClouddeployClient(config *Config, userAgent, billingProject string, timeout time.Duration) *clouddeploy.Client
- func NewDCLComputeClient(config *Config, userAgent, billingProject string, timeout time.Duration) *compute.Client
- func NewDCLContainerAwsClient(config *Config, userAgent, billingProject string, timeout time.Duration) *containeraws.Client
- func NewDCLContainerAzureClient(config *Config, userAgent, billingProject string, timeout time.Duration) *containerazure.Client
- func NewDCLDataplexClient(config *Config, userAgent, billingProject string, timeout time.Duration) *dataplex.Client
- func NewDCLDataprocClient(config *Config, userAgent, billingProject string, timeout time.Duration) *dataproc.Client
- func NewDCLEventarcClient(config *Config, userAgent, billingProject string, timeout time.Duration) *eventarc.Client
- func NewDCLFirebaserulesClient(config *Config, userAgent, billingProject string, timeout time.Duration) *firebaserules.Client
- func NewDCLGkeHubClient(config *Config, userAgent, billingProject string, timeout time.Duration) *gkehub.Client
- func NewDCLRecaptchaEnterpriseClient(config *Config, userAgent, billingProject string, timeout time.Duration) *recaptchaenterprise.Client
- func NewTransportWithDefaultRetries(t http.RoundTripper) *retryTransport
- func NewTransportWithHeaders(baseTransit http.RoundTripper) headerTransportLayer
- func PollingWaitTime(pollF PollReadFunc, checkResponse PollCheckResponseFunc, activity string, ...) error
- func ProviderDCLConfigure(d *schema.ResourceData, config *Config) interface{}
- func PubsubTopicProjectNotReady(err error) (bool, string)
- func RemoveBasePathVersion(url string) string
- func Retry(opt RetryOptions) error
- func RetryWithTargetOccurrences(timeout time.Duration, targetOccurrences int, f retry.RetryFunc) error
- func SendRequest(opt SendRequestOptions) (map[string]interface{}, error)
- func ServiceUsageInternalError160009(err error) (bool, string)
- func ServiceUsageServiceBeingActivated(err error) (bool, string)
- func SetEndpointDefaults(d *schema.ResourceData) error
- func ValidateCustomEndpoint(v interface{}, k string) (ws []string, errors []error)
- type BatchRequest
- type BatcherCombineFunc
- type BatcherSendFunc
- type BatchingConfig
- type BigtableClientFactory
- func (s BigtableClientFactory) NewAdminClient(project, instance string) (*bigtable.AdminClient, error)
- func (s BigtableClientFactory) NewClient(project, instance string) (*bigtable.Client, error)
- func (s BigtableClientFactory) NewInstanceAdminClient(project string) (*bigtable.InstanceAdminClient, error)
- type Config
- func (c *Config) BigTableClientFactory(userAgent string) *BigtableClientFactory
- func (c *Config) GetCredentials(clientScopes []string, initialCredentialsOnly bool) (googleoauth.Credentials, error)
- func (c *Config) LoadAndValidate(ctx context.Context) error
- func (c *Config) NewAppEngineClient(userAgent string) *appengine.APIService
- func (c *Config) NewBigQueryClient(userAgent string) *bigquery.Service
- func (c *Config) NewBigTableProjectsInstancesClient(userAgent string) *bigtableadmin.ProjectsInstancesService
- func (c *Config) NewBigTableProjectsInstancesTablesClient(userAgent string) *bigtableadmin.ProjectsInstancesTablesService
- func (c *Config) NewBillingClient(userAgent string) *cloudbilling.APIService
- func (c *Config) NewBuildClient(userAgent string) *cloudbuild.Service
- func (c *Config) NewCertificateManagerClient(userAgent string) *certificatemanager.Service
- func (c *Config) NewCloudFunctionsClient(userAgent string) *cloudfunctions.Service
- func (c *Config) NewCloudIdentityClient(userAgent string) *cloudidentity.Service
- func (c *Config) NewCloudIoTClient(userAgent string) *cloudiot.Service
- func (c *Config) NewCloudRunV2Client(userAgent string) *runadminv2.Service
- func (c *Config) NewComposerClient(userAgent string) *composer.Service
- func (c *Config) NewComputeClient(userAgent string) *compute.Service
- func (c *Config) NewContainerClient(userAgent string) *container.Service
- func (c *Config) NewDataflowClient(userAgent string) *dataflow.Service
- func (c *Config) NewDataprocClient(userAgent string) *dataproc.Service
- func (c *Config) NewDnsClient(userAgent string) *dns.Service
- func (c *Config) NewFirebaseClient(ctx context.Context, userAgent string) *firebase.Service
- func (c *Config) NewHealthcareClient(userAgent string) *healthcare.Service
- func (c *Config) NewIamClient(userAgent string) *iam.Service
- func (c *Config) NewIamCredentialsClient(userAgent string) *iamcredentials.Service
- func (c *Config) NewKmsClient(userAgent string) *cloudkms.Service
- func (c *Config) NewKmsClientWithCtx(ctx context.Context, userAgent string) *cloudkms.Service
- func (c *Config) NewLoggingClient(userAgent string) *cloudlogging.Service
- func (c *Config) NewPubsubClient(userAgent string) *pubsub.Service
- func (c *Config) NewResourceManagerClient(userAgent string) *cloudresourcemanager.Service
- func (c *Config) NewResourceManagerV3Client(userAgent string) *resourceManagerV3.Service
- func (c *Config) NewRuntimeconfigClient(userAgent string) *runtimeconfig.Service
- func (c *Config) NewServiceManClient(userAgent string) *servicemanagement.APIService
- func (c *Config) NewServiceNetworkingClient(userAgent string) *servicenetworking.APIService
- func (c *Config) NewServiceUsageClient(userAgent string) *serviceusage.Service
- func (c *Config) NewSourceRepoClient(userAgent string) *sourcerepo.Service
- func (c *Config) NewSpannerClient(userAgent string) *spanner.Service
- func (c *Config) NewSqlAdminClient(userAgent string) *sqladmin.Service
- func (c *Config) NewStorageClient(userAgent string) *storage.Service
- func (c *Config) NewStorageClientWithTimeoutOverride(userAgent string, timeout time.Duration) *storage.Service
- func (c *Config) NewStorageTransferClient(userAgent string) *storagetransfer.Service
- type DCLConfig
- type Formatter
- type MutexKV
- type PollCheckResponseFunc
- type PollReadFunc
- type PollResult
- func ErrorPollResult(err error) PollResult
- func PendingStatusPollResult(status string) PollResult
- func PollCheckForAbsence(_ map[string]interface{}, respErr error) PollResult
- func PollCheckForAbsenceWith403(_ map[string]interface{}, respErr error) PollResult
- func PollCheckForExistence(_ map[string]interface{}, respErr error) PollResult
- func PollCheckForExistenceWith403(_ map[string]interface{}, respErr error) PollResult
- func SuccessPollResult() PollResult
- type ProviderMeta
- type RequestBatcher
- type RetryErrorPredicateFunc
- type RetryOptions
- type SendRequestOptions
- type StaticTokenSource
- type TimeoutError
Constants ¶
const AccessApprovalBasePathKey = "AccessApproval"
const AccessContextManagerBasePathKey = "AccessContextManager"
const ActiveDirectoryBasePathKey = "ActiveDirectory"
const AlloydbBasePathKey = "Alloydb"
const ApiGatewayBasePathKey = "ApiGateway"
const ApigeeBasePathKey = "Apigee"
const AppEngineBasePathKey = "AppEngine"
const ApphubBasePathKey = "Apphub"
const ArtifactRegistryBasePathKey = "ArtifactRegistry"
const AttributionKey = "goog-terraform-provisioned"
const AttributionValue = "true"
const BackupDRBasePathKey = "BackupDR"
const BeyondcorpBasePathKey = "Beyondcorp"
const BigQueryBasePathKey = "BigQuery"
const BiglakeBasePathKey = "Biglake"
const BigqueryAnalyticsHubBasePathKey = "BigqueryAnalyticsHub"
const BigqueryConnectionBasePathKey = "BigqueryConnection"
const BigqueryDataTransferBasePathKey = "BigqueryDataTransfer"
const BigqueryDatapolicyBasePathKey = "BigqueryDatapolicy"
const BigqueryReservationBasePathKey = "BigqueryReservation"
const BigtableAdminBasePathKey = "BigtableAdmin"
const BigtableBasePathKey = "Bigtable"
const BillingBasePathKey = "Billing"
const BinaryAuthorizationBasePathKey = "BinaryAuthorization"
const BlockchainNodeEngineBasePathKey = "BlockchainNodeEngine"
const CertificateManagerBasePathKey = "CertificateManager"
const CloudAssetBasePathKey = "CloudAsset"
const CloudBillingBasePathKey = "CloudBilling"
const CloudBuildBasePathKey = "CloudBuild"
const CloudFunctionsBasePathKey = "CloudFunctions"
const CloudIdentityBasePathKey = "CloudIdentity"
const CloudIdsBasePathKey = "CloudIds"
const CloudQuotasBasePathKey = "CloudQuotas"
const CloudRunBasePathKey = "CloudRun"
const CloudRunV2BasePathKey = "CloudRunV2"
const CloudSchedulerBasePathKey = "CloudScheduler"
const CloudTasksBasePathKey = "CloudTasks"
const Cloudbuildv2BasePathKey = "Cloudbuildv2"
const ClouddeployBasePathKey = "Clouddeploy"
const ClouddomainsBasePathKey = "Clouddomains"
const Cloudfunctions2BasePathKey = "Cloudfunctions2"
const ComposerBasePathKey = "Composer"
const ComputeBasePathKey = "Compute"
const ContainerAnalysisBasePathKey = "ContainerAnalysis"
const ContainerAttachedBasePathKey = "ContainerAttached"
const ContainerAwsBasePathKey = "ContainerAws"
const ContainerAzureBasePathKey = "ContainerAzure"
const ContainerBasePathKey = "Container"
const CoreBillingBasePathKey = "CoreBilling"
const CreateOnlyAttributionStrategy = "CREATION_ONLY"
const DNSBasePathKey = "DNS"
const DataCatalogBasePathKey = "DataCatalog"
const DataFusionBasePathKey = "DataFusion"
const DataLossPreventionBasePathKey = "DataLossPrevention"
const DataPipelineBasePathKey = "DataPipeline"
const DatabaseMigrationServiceBasePathKey = "DatabaseMigrationService"
const DataflowBasePathKey = "Dataflow"
const DataformBasePathKey = "Dataform"
const DataplexBasePathKey = "Dataplex"
const DataprocBasePathKey = "Dataproc"
const DataprocGdcBasePathKey = "DataprocGdc"
const DataprocMetastoreBasePathKey = "DataprocMetastore"
const DatastreamBasePathKey = "Datastream"
const DefaultBatchSendIntervalSec = 3
const DeploymentManagerBasePathKey = "DeploymentManager"
const DeveloperConnectBasePathKey = "DeveloperConnect"
const DialogflowBasePathKey = "Dialogflow"
const DialogflowCXBasePathKey = "DialogflowCX"
const DiscoveryEngineBasePathKey = "DiscoveryEngine"
const DocumentAIBasePathKey = "DocumentAI"
const DocumentAIWarehouseBasePathKey = "DocumentAIWarehouse"
const EdgecontainerBasePathKey = "Edgecontainer"
const EdgenetworkBasePathKey = "Edgenetwork"
const EssentialContactsBasePathKey = "EssentialContacts"
const FilestoreBasePathKey = "Filestore"
const FirebaseAppCheckBasePathKey = "FirebaseAppCheck"
const FirebaseBasePathKey = "Firebase"
const FirebaseDatabaseBasePathKey = "FirebaseDatabase"
const FirebaseExtensionsBasePathKey = "FirebaseExtensions"
const FirebaseHostingBasePathKey = "FirebaseHosting"
const FirebaseStorageBasePathKey = "FirebaseStorage"
const FirestoreBasePathKey = "Firestore"
const GKEBackupBasePathKey = "GKEBackup"
const GKEHub2BasePathKey = "GKEHub2"
const GKEHubBasePathKey = "GKEHub"
const GeminiBasePathKey = "Gemini"
const GkeonpremBasePathKey = "Gkeonprem"
const HealthcareBasePathKey = "Healthcare"
const IAM2BasePathKey = "IAM2"
const IAM3BasePathKey = "IAM3"
const IAMBasePathKey = "IAM"
const IAMBetaBasePathKey = "IAMBeta"
const IAMWorkforcePoolBasePathKey = "IAMWorkforcePool"
const IamCredentialsBasePathKey = "IamCredentials"
const IapBasePathKey = "Iap"
const IdentityPlatformBasePathKey = "IdentityPlatform"
const IntegrationConnectorsBasePathKey = "IntegrationConnectors"
const IntegrationsBasePathKey = "Integrations"
const KMSBasePathKey = "KMS"
const LoggingBasePathKey = "Logging"
const LookerBasePathKey = "Looker"
const METADATA_FINGERPRINT_RETRIES = 10
const MLEngineBasePathKey = "MLEngine"
const ManagedKafkaBasePathKey = "ManagedKafka"
const MemcacheBasePathKey = "Memcache"
const MemorystoreBasePathKey = "Memorystore"
const MigrationCenterBasePathKey = "MigrationCenter"
const MonitoringBasePathKey = "Monitoring"
const NetappBasePathKey = "Netapp"
const NetworkConnectivityBasePathKey = "NetworkConnectivity"
const NetworkManagementBasePathKey = "NetworkManagement"
const NetworkSecurityBasePathKey = "NetworkSecurity"
const NetworkServicesBasePathKey = "NetworkServices"
const NotebooksBasePathKey = "Notebooks"
const OSConfigBasePathKey = "OSConfig"
const OSLoginBasePathKey = "OSLogin"
const OracleDatabaseBasePathKey = "OracleDatabase"
const OrgPolicyBasePathKey = "OrgPolicy"
const ParallelstoreBasePathKey = "Parallelstore"
const PrivatecaBasePathKey = "Privateca"
const PrivilegedAccessManagerBasePathKey = "PrivilegedAccessManager"
const ProactiveAttributionStrategy = "PROACTIVE"
const PublicCABasePathKey = "PublicCA"
const PubsubBasePathKey = "Pubsub"
const PubsubLiteBasePathKey = "PubsubLite"
const RedisBasePathKey = "Redis"
const ResourceManagerBasePathKey = "ResourceManager"
const ResourceManagerV3BasePathKey = "ResourceManagerV3"
const RuntimeConfigBasePathKey = "RuntimeConfig"
const SQLBasePathKey = "SQL"
const SecretManagerBasePathKey = "SecretManager"
const SecretManagerRegionalBasePathKey = "SecretManagerRegional"
const SecureSourceManagerBasePathKey = "SecureSourceManager"
const SecurityCenterBasePathKey = "SecurityCenter"
const SecurityCenterManagementBasePathKey = "SecurityCenterManagement"
const SecurityCenterV2BasePathKey = "SecurityCenterV2"
const SecurityScannerBasePathKey = "SecurityScanner"
const SecuritypostureBasePathKey = "Securityposture"
const ServiceDirectoryBasePathKey = "ServiceDirectory"
const ServiceManagementBasePathKey = "ServiceManagement"
const ServiceNetworkingBasePathKey = "ServiceNetworking"
const ServiceUsageBasePathKey = "ServiceUsage"
const SiteVerificationBasePathKey = "SiteVerification"
const SourceRepoBasePathKey = "SourceRepo"
const SpannerBasePathKey = "Spanner"
const StorageBasePathKey = "Storage"
const StorageInsightsBasePathKey = "StorageInsights"
const StorageTransferBasePathKey = "StorageTransfer"
const TPUBasePathKey = "TPU"
const TagsBasePathKey = "Tags"
const TagsLocationBasePathKey = "TagsLocation"
const TestFakeCredentialsPath = "../test-fixtures/fake_account.json"
const TpuV2BasePathKey = "TpuV2"
const TranscoderBasePathKey = "Transcoder"
const VPCAccessBasePathKey = "VPCAccess"
const VertexAIBasePathKey = "VertexAI"
const VmwareengineBasePathKey = "Vmwareengine"
const WorkbenchBasePathKey = "Workbench"
const WorkflowsBasePathKey = "Workflows"
const WorkstationsBasePathKey = "Workstations"
Variables ¶
var ApikeysEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var ApikeysEndpointEntryKey = "apikeys_custom_endpoint"
var AssuredWorkloadsEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var AssuredWorkloadsEndpointEntryKey = "assured_workloads_custom_endpoint"
var BigtableAdminCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, DefaultFunc: schema.MultiEnvDefaultFunc([]string{ "GOOGLE_BIGTABLE_CUSTOM_ENDPOINT", }, DefaultBasePaths[BigtableAdminBasePathKey]), }
var BigtableAdminCustomEndpointEntryKey = "bigtable_custom_endpoint"
var CloudBillingCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var CloudBillingCustomEndpointEntryKey = "cloud_billing_custom_endpoint"
var CloudBuildWorkerPoolEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var CloudBuildWorkerPoolEndpointEntryKey = "cloud_build_worker_pool_custom_endpoint"
var CloudResourceManagerEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var CloudResourceManagerEndpointEntryKey = "cloud_resource_manager_custom_endpoint"
var ComposerCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var ComposerCustomEndpointEntryKey = "composer_custom_endpoint"
var ContainerAwsCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var ContainerAwsCustomEndpointEntryKey = "container_aws_custom_endpoint"
var ContainerAzureCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var ContainerAzureCustomEndpointEntryKey = "container_azure_custom_endpoint"
var ContainerCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var ContainerCustomEndpointEntryKey = "container_custom_endpoint"
var DataflowCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var DataflowCustomEndpointEntryKey = "dataflow_custom_endpoint"
var DefaultBasePaths = map[string]string{}/* 153 elements not displayed */
Generated product base paths
var DefaultClientScopes = []string{
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email",
}
var DefaultRequestTimeout = 5 * time.Minute
var EventarcEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var EventarcEndpointEntryKey = "eventarc_custom_endpoint"
var FINGERPRINT_FAIL_ERRORS = []string{"Invalid fingerprint.", "Supplied fingerprint does not match current metadata fingerprint."}
We've encountered a few common fingerprint-related strings; if this is one of them, we're confident this is an error due to fingerprints.
var FirebaserulesEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var FirebaserulesEndpointEntryKey = "firebaserules_custom_endpoint"
var GKEHubFeatureEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var GKEHubFeatureEndpointEntryKey = "gkehub_feature_custom_endpoint"
var IAMCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var IAMCustomEndpointEntryKey = "iam_custom_endpoint"
var IamCredentialsCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var IamCredentialsCustomEndpointEntryKey = "iam_credentials_custom_endpoint"
var MutexStore = NewMutexKV()
Global MutexKV
var PrivatecaCertificateTemplateCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, DefaultFunc: schema.MultiEnvDefaultFunc([]string{ "GOOGLE_PRIVATECA_CUSTOM_ENDPOINT", }, DefaultBasePaths[PrivatecaBasePathKey]), }
var PrivatecaCertificateTemplateEndpointEntryKey = "privateca_custom_endpoint"
var RecaptchaEnterpriseEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, }
var RecaptchaEnterpriseEndpointEntryKey = "recaptcha_enterprise_custom_endpoint"
var ResourceManagerV3CustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var ResourceManagerV3CustomEndpointEntryKey = "resource_manager_v3_custom_endpoint"
var RuntimeConfigCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var RuntimeConfigCustomEndpointEntryKey = "runtimeconfig_custom_endpoint"
var ServiceNetworkingCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var ServiceNetworkingCustomEndpointEntryKey = "service_networking_custom_endpoint"
var ServiceUsageCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, DefaultFunc: schema.MultiEnvDefaultFunc([]string{ "GOOGLE_SERVICE_USAGE_CUSTOM_ENDPOINT", }, DefaultBasePaths[ServiceUsageBasePathKey]), }
var ServiceUsageCustomEndpointEntryKey = "service_usage_custom_endpoint"
var TagsLocationCustomEndpointEntry = &schema.Schema{ Type: schema.TypeString, Optional: true, ValidateFunc: ValidateCustomEndpoint, }
var TagsLocationCustomEndpointEntryKey = "tags_location_custom_endpoint"
var TimeoutErr = &TimeoutError{timeout: true}
Functions ¶
func AddArrayQueryParams ¶
func ClientWithAdditionalRetries ¶
func ClientWithAdditionalRetries(baseClient *http.Client, predicates ...RetryErrorPredicateFunc) *http.Client
Helper method to create a shallow copy of an HTTP client with a shallow-copied retryTransport s.t. the base HTTP transport is the same (i.e. client connection pools are shared, retryPredicates are different)
func ConfigureBasePaths ¶
func ConfigureBasePaths(c *Config)
For a consumer of config.go that isn't a full fledged provider and doesn't have its own endpoint mechanism such as sweepers, init {{service}}BasePath values to a default. After using this, you should call config.LoadAndValidate.
func ConfigureDCLCustomEndpointAttributesFramework ¶
func ConfigureDCLCustomEndpointAttributesFramework(frameworkSchema *framework_schema.Schema)
plugin-framework provider set-up
func ConfigureDCLProvider ¶
func CustomEndpointValidator ¶
func ExternalIpServiceNotActive ¶
Retry the creation of `google_vmwareengine_external_address` resource if the network policy's External IP field is not active yet.
func FirestoreField409RetryUnderlyingDataChanged ¶
relevant for firestore in datastore mode
func FirestoreIndex409Retry ¶
relevant for firestore in datastore mode
func GetCurrentUserEmail ¶
func GetRegionFromRegionSelfLink ¶
return the region a selfLink is referring to
func GetUniverseDomainFromMeta ¶
func GetUniverseDomainFromMeta(meta interface{}) string
func HandleDCLCustomEndpointDefaults ¶
func HandleDCLCustomEndpointDefaults(d *schema.ResourceData)
func HandleDataSourceNotFoundError ¶
func HandleDataSourceNotFoundError(err error, d *schema.ResourceData, resource, url string) error
func HandleNotFoundError ¶
func HandleNotFoundError(err error, d *schema.ResourceData, resource string) error
func HandleSDKDefaults ¶
func HandleSDKDefaults(d *schema.ResourceData) error
func IamMemberMissing ¶
If a permission necessary to provision a resource is created in the same config as the resource itself, the permission may not have propagated by the time terraform attempts to create the resource. This allows those errors to be retried until the timeout expires
func IamServiceAccountNotFound ¶
If a service account is deleted in the middle of updating an IAM policy it can cause the API to return an error. In fine-grained IAM resources we read the policy, modify it, then send it back to the API. Retrying is useful particularly in high-traffic projects. We don't want to retry _every_ time we see this error because the user-provided SA could trigger this too. At the callsite, we should check if the current etag matches the old etag and short-circuit if they do as that indicates the new config is the likely problem.
func IapClient409Operation ¶
func Is429QuotaError ¶
Do not retry if operation returns a 429
func Is429RetryableQuotaError ¶
Do retry if operation returns a 429 and the reason is RATE_LIMIT_EXCEEDED
func IsApiNotEnabledError ¶
func IsApigeeRetryableError ¶
Concurrent Apigee operations can fail with a 400 error
func IsAppEngineRetryableError ¶
Retry if App Engine operation returns a 409 with a specific message for concurrent operations, or a 404 indicating p4sa has not yet propagated.
func IsBigTableRetryableError ¶
Bigtable uses gRPC and thus does not return errors of type *googleapi.Error. Instead the errors returned are *status.Error. See the types of codes returned here (https://pkg.go.dev/google.golang.org/grpc/codes#Code).
func IsBigqueryIAMQuotaError ¶
Retry if Bigquery operation returns a 403 with a specific message for concurrent operations (which are implemented in terms of 'edit quota').
func IsCloudRunCreationConflict ¶
Cloud Run APIs may return a 409 on create to indicate that a resource has been deleted in the foreground (eg GET and LIST) but not the backing apiserver. When we encounter a 409, we can retry it. Note that due to limitations in MMv1's error_retry_predicates this is currently applied to all requests. We only expect to receive it on create, though.
func IsCryptoKeyVersionsPendingGeneration ¶
Retry if KMS CryptoKeyVersions returns a 400 for PENDING_GENERATION
func IsFingerprintError ¶
Retry the operation if it looks like a fingerprint mismatch.
func IsMonitoringConcurrentEditError ¶
Retry if Monitoring operation returns a 409 with a specific message for concurrent operations.
func IsMonitoringPermissionError ¶
Retry if Monitoring operation returns a 403
func IsOrgpolicyRetryableError ¶
Retry if Orgpolicy operation returns a 403 with a specific message indicating the parent resource does not exist.
func IsRetryableError ¶
func IsRetryableError(topErr error, retryPredicates, abortPredicates []RetryErrorPredicateFunc) bool
func IsSiteVerificationRetryableError ¶
Site verification may return a 400 error while waiting for DNS propagation.
func IsSqlOperationInProgressError ¶
Retry if Cloud SQL operation returns a 429 with a specific message for concurrent operations.
func IsSwgAutogenRouterRetryable ¶
Gateway of type 'SECURE_WEB_GATEWAY' automatically creates a router but does not delete it. This router might be re-used by other gateways located in the same network. When multiple gateways are being deleted at the same time, multiple attempts to delete the same router will be triggered and the api throws an error saying the "The resource <router> is not ready".
func LockedCall ¶
func MetadataRetryWrapper ¶
Since the google compute API uses optimistic locking, there is a chance we need to resubmit our updated metadata. To do this, you need to provide an update function that attempts to submit your metadata
func MultiEnvDefault ¶
func MultiEnvDefault(ks []string, dv interface{}) interface{}
MultiEnvDefault is a helper function that returns the value of the first environment variable in the given list that returns a non-empty value. If none of the environment variables return a value, the default value is returned.
func MultiEnvSearch ¶
func NewDCLApikeysClient ¶
func NewDCLCloudbuildClient ¶
func NewDCLClouddeployClient ¶
func NewDCLComputeClient ¶
func NewDCLDataplexClient ¶
func NewDCLDataprocClient ¶
func NewDCLEventarcClient ¶
func NewDCLGkeHubClient ¶
func NewTransportWithDefaultRetries ¶
func NewTransportWithDefaultRetries(t http.RoundTripper) *retryTransport
NewTransportWithDefaultRetries constructs a default retryTransport that will retry common temporary errors
func NewTransportWithHeaders ¶
func NewTransportWithHeaders(baseTransit http.RoundTripper) headerTransportLayer
func PollingWaitTime ¶
func PollingWaitTime(pollF PollReadFunc, checkResponse PollCheckResponseFunc, activity string, timeout time.Duration, targetOccurrences int) error
func ProviderDCLConfigure ¶
func ProviderDCLConfigure(d *schema.ResourceData, config *Config) interface{}
func PubsubTopicProjectNotReady ¶
Cloud PubSub returns a 400 error if a topic's parent project was recently created and an organization policy has not propagated. See https://github.com/hashicorp/terraform-provider-google/issues/4349
func RemoveBasePathVersion ¶
Remove the `/{{version}}/` from a base path if present.
func Retry ¶
func Retry(opt RetryOptions) error
func RetryWithTargetOccurrences ¶
func RetryWithTargetOccurrences(timeout time.Duration, targetOccurrences int, f retry.RetryFunc) error
RetryWithTargetOccurrences is a basic wrapper around StateChangeConf that will retry a function until it returns the specified amount of target occurrences continuously. Adapted from the Retry function in the go SDK.
func SendRequest ¶
func SendRequest(opt SendRequestOptions) (map[string]interface{}, error)
func ServiceUsageInternalError160009 ¶
See https://github.com/hashicorp/terraform-provider-google/issues/14691 for details on the error message this handles This is a post-operation error so it uses tpgresource.CommonOpError instead of googleapi.Error
func ServiceUsageServiceBeingActivated ¶
Retry if service usage decides you're activating the same service multiple times. This can happen if a service and a dependent service aren't batched together- eg container.googleapis.com in one request followed by compute.g.c in the next (container relies on compute and implicitly activates it)
func SetEndpointDefaults ¶
func SetEndpointDefaults(d *schema.ResourceData) error
func ValidateCustomEndpoint ¶
Types ¶
type BatchRequest ¶
type BatchRequest struct { // ResourceName represents the underlying resource for which // a request is made. Its format is determined by what SendF expects, but // typically should be the name of the parent GCP resource being changed. ResourceName string // Body is this request's data to be passed to SendF, and may be combined // with other bodies using CombineF. Body interface{} // CombineF function determines how to combine bodies from two batches. CombineF BatcherCombineFunc // SendF function determines how to actually send a batched request to a // third party service. The arguments given to this function are // (ResourceName, Body) where Body may have been combined with other request // Bodies. SendF BatcherSendFunc // ID for debugging request. This should be specific to a single request // (i.e. per Terraform resource) DebugId string }
BatchRequest represents a single request to a global batcher.
type BatcherCombineFunc ¶
type BatcherCombineFunc func(body interface{}, toAdd interface{}) (interface{}, error)
BatcherCombineFunc is a function type for combine existing batches and additional batch data
type BatcherSendFunc ¶
BatcherSendFunc is a function type for sending a batch request
type BatchingConfig ¶
BatchingConfig contains user configuration for controlling batch requests.
func ExpandProviderBatchingConfig ¶
func ExpandProviderBatchingConfig(v interface{}) (*BatchingConfig, error)
type BigtableClientFactory ¶
type BigtableClientFactory struct { UserAgent string TokenSource oauth2.TokenSource BillingProject string UserProjectOverride bool // contains filtered or unexported fields }
func (BigtableClientFactory) NewAdminClient ¶
func (s BigtableClientFactory) NewAdminClient(project, instance string) (*bigtable.AdminClient, error)
func (BigtableClientFactory) NewClient ¶
func (s BigtableClientFactory) NewClient(project, instance string) (*bigtable.Client, error)
func (BigtableClientFactory) NewInstanceAdminClient ¶
func (s BigtableClientFactory) NewInstanceAdminClient(project string) (*bigtable.InstanceAdminClient, error)
type Config ¶
type Config struct { DCLConfig AccessToken string Credentials string ImpersonateServiceAccount string ImpersonateServiceAccountDelegates []string Project string Region string BillingProject string Zone string UniverseDomain string Scopes []string BatchingConfig *BatchingConfig UserProjectOverride bool RequestReason string RequestTimeout time.Duration DefaultLabels map[string]string AddTerraformAttributionLabel bool TerraformAttributionLabelAdditionStrategy string // PollInterval is passed to retry.StateChangeConf in common_operation.go // It controls the interval at which we poll for successful operations PollInterval time.Duration Client *http.Client Context context.Context UserAgent string TokenSource oauth2.TokenSource AccessApprovalBasePath string AccessContextManagerBasePath string ActiveDirectoryBasePath string AlloydbBasePath string ApiGatewayBasePath string ApigeeBasePath string AppEngineBasePath string ApphubBasePath string ArtifactRegistryBasePath string BackupDRBasePath string BeyondcorpBasePath string BiglakeBasePath string BigQueryBasePath string BigqueryAnalyticsHubBasePath string BigqueryConnectionBasePath string BigqueryDatapolicyBasePath string BigqueryDataTransferBasePath string BigqueryReservationBasePath string BigtableBasePath string BillingBasePath string BinaryAuthorizationBasePath string BlockchainNodeEngineBasePath string CertificateManagerBasePath string CloudAssetBasePath string CloudBuildBasePath string Cloudbuildv2BasePath string ClouddeployBasePath string ClouddomainsBasePath string CloudFunctionsBasePath string Cloudfunctions2BasePath string CloudIdentityBasePath string CloudIdsBasePath string CloudQuotasBasePath string CloudRunBasePath string CloudRunV2BasePath string CloudSchedulerBasePath string CloudTasksBasePath string ComposerBasePath string ComputeBasePath string ContainerAnalysisBasePath string ContainerAttachedBasePath string CoreBillingBasePath string DatabaseMigrationServiceBasePath string DataCatalogBasePath string DataformBasePath string DataFusionBasePath string DataLossPreventionBasePath string DataPipelineBasePath string DataplexBasePath string DataprocBasePath string DataprocGdcBasePath string DataprocMetastoreBasePath string DatastreamBasePath string DeploymentManagerBasePath string DeveloperConnectBasePath string DialogflowBasePath string DialogflowCXBasePath string DiscoveryEngineBasePath string DNSBasePath string DocumentAIBasePath string DocumentAIWarehouseBasePath string EdgecontainerBasePath string EdgenetworkBasePath string EssentialContactsBasePath string FilestoreBasePath string FirebaseBasePath string FirebaseAppCheckBasePath string FirebaseDatabaseBasePath string FirebaseExtensionsBasePath string FirebaseHostingBasePath string FirebaseStorageBasePath string FirestoreBasePath string GeminiBasePath string GKEBackupBasePath string GKEHubBasePath string GKEHub2BasePath string GkeonpremBasePath string HealthcareBasePath string IAM2BasePath string IAM3BasePath string IAMBetaBasePath string IAMWorkforcePoolBasePath string IapBasePath string IdentityPlatformBasePath string IntegrationConnectorsBasePath string IntegrationsBasePath string KMSBasePath string LoggingBasePath string LookerBasePath string ManagedKafkaBasePath string MemcacheBasePath string MemorystoreBasePath string MigrationCenterBasePath string MLEngineBasePath string MonitoringBasePath string NetappBasePath string NetworkConnectivityBasePath string NetworkManagementBasePath string NetworkSecurityBasePath string NetworkServicesBasePath string NotebooksBasePath string OracleDatabaseBasePath string OrgPolicyBasePath string OSConfigBasePath string OSLoginBasePath string ParallelstoreBasePath string PrivatecaBasePath string PrivilegedAccessManagerBasePath string PublicCABasePath string PubsubBasePath string PubsubLiteBasePath string RedisBasePath string ResourceManagerBasePath string RuntimeConfigBasePath string SecretManagerBasePath string SecretManagerRegionalBasePath string SecureSourceManagerBasePath string SecurityCenterBasePath string SecurityCenterManagementBasePath string SecurityCenterV2BasePath string SecuritypostureBasePath string SecurityScannerBasePath string ServiceDirectoryBasePath string ServiceManagementBasePath string ServiceNetworkingBasePath string ServiceUsageBasePath string SiteVerificationBasePath string SourceRepoBasePath string SpannerBasePath string SQLBasePath string StorageBasePath string StorageInsightsBasePath string StorageTransferBasePath string TagsBasePath string TPUBasePath string TpuV2BasePath string TranscoderBasePath string VertexAIBasePath string VmwareengineBasePath string VPCAccessBasePath string WorkbenchBasePath string WorkflowsBasePath string WorkstationsBasePath string CloudBillingBasePath string ContainerBasePath string DataflowBasePath string IamCredentialsBasePath string ResourceManagerV3BasePath string IAMBasePath string CloudIoTBasePath string BigtableAdminBasePath string TagsLocationBasePath string // dcl ContainerAwsBasePath string ContainerAzureBasePath string RequestBatcherServiceUsage *RequestBatcher RequestBatcherIam *RequestBatcher // contains filtered or unexported fields }
Config is the configuration structure used to instantiate the Google provider.
func (*Config) BigTableClientFactory ¶
func (c *Config) BigTableClientFactory(userAgent string) *BigtableClientFactory
func (*Config) GetCredentials ¶
func (c *Config) GetCredentials(clientScopes []string, initialCredentialsOnly bool) (googleoauth.Credentials, error)
Get a set of credentials with a given scope (clientScopes) based on the Config object. If initialCredentialsOnly is true, don't follow the impersonation settings and return the initial set of creds instead.
func (*Config) NewAppEngineClient ¶
func (c *Config) NewAppEngineClient(userAgent string) *appengine.APIService
func (*Config) NewBigQueryClient ¶
func (*Config) NewBigTableProjectsInstancesClient ¶
func (c *Config) NewBigTableProjectsInstancesClient(userAgent string) *bigtableadmin.ProjectsInstancesService
Unlike other clients, the Bigtable Admin client doesn't use a single service. Instead, there are several distinct services created off the base service object. To imitate most other handwritten clients, we expose those directly instead of providing the `Service` object as a factory.
func (*Config) NewBigTableProjectsInstancesTablesClient ¶
func (*Config) NewBillingClient ¶
func (*Config) NewBuildClient ¶
func (*Config) NewCertificateManagerClient ¶
Methods to create new services from config Some base paths below need the version and possibly more of the path set on them. The client libraries are inconsistent about which values they need; while most only want the host URL, some older ones also want the version and some of those "projects" as well. You can find out if this is required by looking at the basePath value in the client library file.
func (*Config) NewCloudFunctionsClient ¶
func (*Config) NewCloudIdentityClient ¶
func (c *Config) NewCloudIdentityClient(userAgent string) *cloudidentity.Service
func (*Config) NewCloudIoTClient ¶
func (*Config) NewCloudRunV2Client ¶
func (c *Config) NewCloudRunV2Client(userAgent string) *runadminv2.Service
func (*Config) NewComposerClient ¶
func (*Config) NewComputeClient ¶
func (*Config) NewContainerClient ¶
func (*Config) NewDataflowClient ¶
func (*Config) NewDataprocClient ¶
func (*Config) NewDnsClient ¶
func (*Config) NewFirebaseClient ¶
func (*Config) NewHealthcareClient ¶
func (c *Config) NewHealthcareClient(userAgent string) *healthcare.Service
func (*Config) NewIamClient ¶
func (*Config) NewIamCredentialsClient ¶
func (c *Config) NewIamCredentialsClient(userAgent string) *iamcredentials.Service
func (*Config) NewKmsClient ¶
func (*Config) NewKmsClientWithCtx ¶
func (*Config) NewLoggingClient ¶
func (c *Config) NewLoggingClient(userAgent string) *cloudlogging.Service
func (*Config) NewPubsubClient ¶
func (*Config) NewResourceManagerClient ¶
func (*Config) NewResourceManagerV3Client ¶
func (c *Config) NewResourceManagerV3Client(userAgent string) *resourceManagerV3.Service
func (*Config) NewRuntimeconfigClient ¶
func (c *Config) NewRuntimeconfigClient(userAgent string) *runtimeconfig.Service
func (*Config) NewServiceManClient ¶
func (*Config) NewServiceNetworkingClient ¶
func (*Config) NewServiceUsageClient ¶
func (*Config) NewSourceRepoClient ¶
func (*Config) NewSpannerClient ¶
func (*Config) NewSqlAdminClient ¶
func (*Config) NewStorageClient ¶
func (*Config) NewStorageClientWithTimeoutOverride ¶
func (c *Config) NewStorageClientWithTimeoutOverride(userAgent string, timeout time.Duration) *storage.Service
For object uploads, we need to override the specific timeout because they are long, synchronous operations.
func (*Config) NewStorageTransferClient ¶
type Formatter ¶
func (*Formatter) Format ¶
Borrowed logic from https://github.com/sirupsen/logrus/blob/master/json_formatter.go and https://github.com/t-tomalak/logrus-easy-formatter/blob/master/formatter.go
type MutexKV ¶
type MutexKV struct {
// contains filtered or unexported fields
}
MutexKV is a simple key/value store for arbitrary mutexes. It can be used to serialize changes across arbitrary collaborators that share knowledge of the keys they must serialize on.
The initial use case is to let aws_security_group_rule resources serialize their access to individual security groups based on SG ID.
func (*MutexKV) Lock ¶
Locks the mutex for the given key. Caller is responsible for calling Unlock for the same key
func (*MutexKV) RLock ¶
Acquires a read-lock on the mutex for the given key. Caller is responsible for calling RUnlock for the same key
type PollCheckResponseFunc ¶
type PollCheckResponseFunc func(resp map[string]interface{}, respErr error) PollResult
Function to check the response from polling once
type PollReadFunc ¶
Function handling for polling for a resource
type PollResult ¶
type PollResult *retry.RetryError
func ErrorPollResult ¶
func ErrorPollResult(err error) PollResult
Helper functions to construct result of single pollRead as return result for a PollCheckResponseFunc
func PendingStatusPollResult ¶
func PendingStatusPollResult(status string) PollResult
func PollCheckForAbsence ¶
func PollCheckForAbsence(_ map[string]interface{}, respErr error) PollResult
PollCheckForAbsence waits for a 404 response, continues polling on a successful response, and returns any other error.
func PollCheckForAbsenceWith403 ¶
func PollCheckForAbsenceWith403(_ map[string]interface{}, respErr error) PollResult
PollCheckForAbsence waits for a 404/403 response, continues polling on a successful response, and returns any other error.
func PollCheckForExistence ¶
func PollCheckForExistence(_ map[string]interface{}, respErr error) PollResult
PollCheckForExistence waits for a successful response, continues polling on 404, and returns any other error.
func PollCheckForExistenceWith403 ¶
func PollCheckForExistenceWith403(_ map[string]interface{}, respErr error) PollResult
PollCheckForExistenceWith403 waits for a successful response, continues polling on 404 or 403, and returns any other error.
func SuccessPollResult ¶
func SuccessPollResult() PollResult
type ProviderMeta ¶
type ProviderMeta struct {
ModuleName string `cty:"module_name"`
}
type RequestBatcher ¶
type RequestBatcher struct { sync.Mutex *BatchingConfig // contains filtered or unexported fields }
RequestBatcher keeps track of batched requests globally. It should be created at a provider level. In general, one should be created per service that requires batching to:
- prevent blocking batching for one service due to another,
- minimize the possibility of overlap in batchKey formats (see SendRequestWithTimeout)
func NewRequestBatcher ¶
func NewRequestBatcher(debugId string, ctx context.Context, config *BatchingConfig) *RequestBatcher
Initializes a new batcher.
func (*RequestBatcher) SendRequestWithTimeout ¶
func (b *RequestBatcher) SendRequestWithTimeout(batchKey string, request *BatchRequest, timeout time.Duration) (interface{}, error)
SendRequestWithTimeout is a blocking call for making a single request, run alone or as part of a batch. It manages registering the single request with the batcher and waiting on the result.
Params: batchKey: A string to group batchable requests. It should be unique to the API request being sent, similar to the HTTP request URL with GCP resource ID included in the URL (the caller may choose to use a key with method if needed to diff GET/read and POST/create)
As an example, for google_project_service, the batcher is called to batch services.batchEnable() calls for a project $PROJECT. The calling code uses the template "serviceusage:projects/$PROJECT/services:batchEnable", which mirrors the HTTP request: POST https://serviceusage.googleapis.com/v1/projects/$PROJECT/services:batchEnable
type RetryErrorPredicateFunc ¶
func IsForbiddenIamServiceAccountRetryableError ¶
func IsForbiddenIamServiceAccountRetryableError(opType string) RetryErrorPredicateFunc
Retry if getting a resource/operation returns a 403 for specific IAM Admin API Service Account operations. opType should describe the operation for which it can be retryable. IAM API is eventually consistent and returns 403 Forbidden (instead of 404 Not found) for some operations when a newly created resource is attempted to be read right after the creation and not found.
func IsNotFoundRetryableError ¶
func IsNotFoundRetryableError(opType string) RetryErrorPredicateFunc
Retry if getting a resource/operation returns a 404 for specific operations. opType should describe the operation for which 404 can be retryable.
type RetryOptions ¶
type RetryOptions struct { RetryFunc func() error Timeout time.Duration PollInterval time.Duration ErrorRetryPredicates []RetryErrorPredicateFunc ErrorAbortPredicates []RetryErrorPredicateFunc }
type SendRequestOptions ¶
type StaticTokenSource ¶
type StaticTokenSource struct {
oauth2.TokenSource
}
StaticTokenSource is used to be able to identify static token sources without reflection.
type TimeoutError ¶
type TimeoutError struct {
// contains filtered or unexported fields
}
func (*TimeoutError) Error ¶
func (e *TimeoutError) Error() string
func (*TimeoutError) Timeout ¶
func (e *TimeoutError) Timeout() bool
Source Files ¶
- batcher.go
- bigtable_client_factory.go
- common_polling.go
- config.go
- config_test_utils.go
- error_retry_predicates.go
- header_transport.go
- mutexkv.go
- provider_dcl_client_creation.go
- provider_dcl_endpoints.go
- provider_handwritten_endpoint.go
- retry_transport.go
- retry_utils.go
- transport.go
- transport_test_utils.go