"use strict";
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.Provider = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
 * The provider type for the google-beta package. By default, resources use package-wide configuration
 * settings, however an explicit `Provider` instance may be created and passed during resource
 * construction to achieve fine-grained programmatic control over provider settings. See the
 * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
 */
class Provider extends pulumi.ProviderResource {
    /**
     * Returns true if the given object is an instance of Provider.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj) {
        if (obj === undefined || obj === null) {
            return false;
        }
        return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType;
    }
    /**
     * Create a Provider resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name, args, opts) {
        let resourceInputs = {};
        opts = opts || {};
        {
            resourceInputs["accessApprovalCustomEndpoint"] = args?.accessApprovalCustomEndpoint;
            resourceInputs["accessContextManagerCustomEndpoint"] = args?.accessContextManagerCustomEndpoint;
            resourceInputs["accessToken"] = args?.accessToken ? pulumi.secret(args.accessToken) : undefined;
            resourceInputs["activeDirectoryCustomEndpoint"] = args?.activeDirectoryCustomEndpoint;
            resourceInputs["addPulumiAttributionLabel"] = pulumi.output(args?.addPulumiAttributionLabel).apply(JSON.stringify);
            resourceInputs["alloydbCustomEndpoint"] = args?.alloydbCustomEndpoint;
            resourceInputs["apiGatewayCustomEndpoint"] = args?.apiGatewayCustomEndpoint;
            resourceInputs["apigeeCustomEndpoint"] = args?.apigeeCustomEndpoint;
            resourceInputs["apihubCustomEndpoint"] = args?.apihubCustomEndpoint;
            resourceInputs["apikeysCustomEndpoint"] = args?.apikeysCustomEndpoint;
            resourceInputs["appEngineCustomEndpoint"] = args?.appEngineCustomEndpoint;
            resourceInputs["apphubCustomEndpoint"] = args?.apphubCustomEndpoint;
            resourceInputs["artifactRegistryCustomEndpoint"] = args?.artifactRegistryCustomEndpoint;
            resourceInputs["assuredWorkloadsCustomEndpoint"] = args?.assuredWorkloadsCustomEndpoint;
            resourceInputs["backupDrCustomEndpoint"] = args?.backupDrCustomEndpoint;
            resourceInputs["batching"] = pulumi.output(args?.batching).apply(JSON.stringify);
            resourceInputs["beyondcorpCustomEndpoint"] = args?.beyondcorpCustomEndpoint;
            resourceInputs["bigQueryCustomEndpoint"] = args?.bigQueryCustomEndpoint;
            resourceInputs["biglakeCustomEndpoint"] = args?.biglakeCustomEndpoint;
            resourceInputs["bigqueryAnalyticsHubCustomEndpoint"] = args?.bigqueryAnalyticsHubCustomEndpoint;
            resourceInputs["bigqueryConnectionCustomEndpoint"] = args?.bigqueryConnectionCustomEndpoint;
            resourceInputs["bigqueryDataTransferCustomEndpoint"] = args?.bigqueryDataTransferCustomEndpoint;
            resourceInputs["bigqueryDatapolicyCustomEndpoint"] = args?.bigqueryDatapolicyCustomEndpoint;
            resourceInputs["bigqueryDatapolicyv2CustomEndpoint"] = args?.bigqueryDatapolicyv2CustomEndpoint;
            resourceInputs["bigqueryReservationCustomEndpoint"] = args?.bigqueryReservationCustomEndpoint;
            resourceInputs["bigtableCustomEndpoint"] = args?.bigtableCustomEndpoint;
            resourceInputs["billingCustomEndpoint"] = args?.billingCustomEndpoint;
            resourceInputs["billingProject"] = args?.billingProject;
            resourceInputs["binaryAuthorizationCustomEndpoint"] = args?.binaryAuthorizationCustomEndpoint;
            resourceInputs["blockchainNodeEngineCustomEndpoint"] = args?.blockchainNodeEngineCustomEndpoint;
            resourceInputs["certificateManagerCustomEndpoint"] = args?.certificateManagerCustomEndpoint;
            resourceInputs["chronicleCustomEndpoint"] = args?.chronicleCustomEndpoint;
            resourceInputs["cloudAssetCustomEndpoint"] = args?.cloudAssetCustomEndpoint;
            resourceInputs["cloudBillingCustomEndpoint"] = args?.cloudBillingCustomEndpoint;
            resourceInputs["cloudBuildCustomEndpoint"] = args?.cloudBuildCustomEndpoint;
            resourceInputs["cloudFunctionsCustomEndpoint"] = args?.cloudFunctionsCustomEndpoint;
            resourceInputs["cloudIdentityCustomEndpoint"] = args?.cloudIdentityCustomEndpoint;
            resourceInputs["cloudIdsCustomEndpoint"] = args?.cloudIdsCustomEndpoint;
            resourceInputs["cloudQuotasCustomEndpoint"] = args?.cloudQuotasCustomEndpoint;
            resourceInputs["cloudResourceManagerCustomEndpoint"] = args?.cloudResourceManagerCustomEndpoint;
            resourceInputs["cloudRunCustomEndpoint"] = args?.cloudRunCustomEndpoint;
            resourceInputs["cloudRunV2CustomEndpoint"] = args?.cloudRunV2CustomEndpoint;
            resourceInputs["cloudSchedulerCustomEndpoint"] = args?.cloudSchedulerCustomEndpoint;
            resourceInputs["cloudTasksCustomEndpoint"] = args?.cloudTasksCustomEndpoint;
            resourceInputs["cloudbuildv2CustomEndpoint"] = args?.cloudbuildv2CustomEndpoint;
            resourceInputs["clouddeployCustomEndpoint"] = args?.clouddeployCustomEndpoint;
            resourceInputs["clouddomainsCustomEndpoint"] = args?.clouddomainsCustomEndpoint;
            resourceInputs["cloudfunctions2CustomEndpoint"] = args?.cloudfunctions2CustomEndpoint;
            resourceInputs["colabCustomEndpoint"] = args?.colabCustomEndpoint;
            resourceInputs["composerCustomEndpoint"] = args?.composerCustomEndpoint;
            resourceInputs["computeCustomEndpoint"] = args?.computeCustomEndpoint;
            resourceInputs["contactCenterInsightsCustomEndpoint"] = args?.contactCenterInsightsCustomEndpoint;
            resourceInputs["containerAnalysisCustomEndpoint"] = args?.containerAnalysisCustomEndpoint;
            resourceInputs["containerAttachedCustomEndpoint"] = args?.containerAttachedCustomEndpoint;
            resourceInputs["containerAwsCustomEndpoint"] = args?.containerAwsCustomEndpoint;
            resourceInputs["containerAzureCustomEndpoint"] = args?.containerAzureCustomEndpoint;
            resourceInputs["containerCustomEndpoint"] = args?.containerCustomEndpoint;
            resourceInputs["coreBillingCustomEndpoint"] = args?.coreBillingCustomEndpoint;
            resourceInputs["credentials"] = args?.credentials;
            resourceInputs["dataCatalogCustomEndpoint"] = args?.dataCatalogCustomEndpoint;
            resourceInputs["dataFusionCustomEndpoint"] = args?.dataFusionCustomEndpoint;
            resourceInputs["dataLossPreventionCustomEndpoint"] = args?.dataLossPreventionCustomEndpoint;
            resourceInputs["dataPipelineCustomEndpoint"] = args?.dataPipelineCustomEndpoint;
            resourceInputs["databaseMigrationServiceCustomEndpoint"] = args?.databaseMigrationServiceCustomEndpoint;
            resourceInputs["dataflowCustomEndpoint"] = args?.dataflowCustomEndpoint;
            resourceInputs["dataformCustomEndpoint"] = args?.dataformCustomEndpoint;
            resourceInputs["dataplexCustomEndpoint"] = args?.dataplexCustomEndpoint;
            resourceInputs["dataprocCustomEndpoint"] = args?.dataprocCustomEndpoint;
            resourceInputs["dataprocGdcCustomEndpoint"] = args?.dataprocGdcCustomEndpoint;
            resourceInputs["dataprocMetastoreCustomEndpoint"] = args?.dataprocMetastoreCustomEndpoint;
            resourceInputs["datastreamCustomEndpoint"] = args?.datastreamCustomEndpoint;
            resourceInputs["defaultLabels"] = pulumi.output(args?.defaultLabels).apply(JSON.stringify);
            resourceInputs["deploymentManagerCustomEndpoint"] = args?.deploymentManagerCustomEndpoint;
            resourceInputs["developerConnectCustomEndpoint"] = args?.developerConnectCustomEndpoint;
            resourceInputs["dialogflowCustomEndpoint"] = args?.dialogflowCustomEndpoint;
            resourceInputs["dialogflowCxCustomEndpoint"] = args?.dialogflowCxCustomEndpoint;
            resourceInputs["disableGooglePartnerName"] = pulumi.output(args?.disableGooglePartnerName).apply(JSON.stringify);
            resourceInputs["discoveryEngineCustomEndpoint"] = args?.discoveryEngineCustomEndpoint;
            resourceInputs["dnsCustomEndpoint"] = args?.dnsCustomEndpoint;
            resourceInputs["documentAiCustomEndpoint"] = args?.documentAiCustomEndpoint;
            resourceInputs["documentAiWarehouseCustomEndpoint"] = args?.documentAiWarehouseCustomEndpoint;
            resourceInputs["edgecontainerCustomEndpoint"] = args?.edgecontainerCustomEndpoint;
            resourceInputs["edgenetworkCustomEndpoint"] = args?.edgenetworkCustomEndpoint;
            resourceInputs["essentialContactsCustomEndpoint"] = args?.essentialContactsCustomEndpoint;
            resourceInputs["eventarcCustomEndpoint"] = args?.eventarcCustomEndpoint;
            resourceInputs["externalCredentials"] = pulumi.output(args?.externalCredentials).apply(JSON.stringify);
            resourceInputs["filestoreCustomEndpoint"] = args?.filestoreCustomEndpoint;
            resourceInputs["firebaseAppCheckCustomEndpoint"] = args?.firebaseAppCheckCustomEndpoint;
            resourceInputs["firebaseAppHostingCustomEndpoint"] = args?.firebaseAppHostingCustomEndpoint;
            resourceInputs["firebaseCustomEndpoint"] = args?.firebaseCustomEndpoint;
            resourceInputs["firebaseDataConnectCustomEndpoint"] = args?.firebaseDataConnectCustomEndpoint;
            resourceInputs["firebaseDatabaseCustomEndpoint"] = args?.firebaseDatabaseCustomEndpoint;
            resourceInputs["firebaseExtensionsCustomEndpoint"] = args?.firebaseExtensionsCustomEndpoint;
            resourceInputs["firebaseHostingCustomEndpoint"] = args?.firebaseHostingCustomEndpoint;
            resourceInputs["firebaseStorageCustomEndpoint"] = args?.firebaseStorageCustomEndpoint;
            resourceInputs["firebaserulesCustomEndpoint"] = args?.firebaserulesCustomEndpoint;
            resourceInputs["firestoreCustomEndpoint"] = args?.firestoreCustomEndpoint;
            resourceInputs["geminiCustomEndpoint"] = args?.geminiCustomEndpoint;
            resourceInputs["gkeBackupCustomEndpoint"] = args?.gkeBackupCustomEndpoint;
            resourceInputs["gkeHub2CustomEndpoint"] = args?.gkeHub2CustomEndpoint;
            resourceInputs["gkeHubCustomEndpoint"] = args?.gkeHubCustomEndpoint;
            resourceInputs["gkeonpremCustomEndpoint"] = args?.gkeonpremCustomEndpoint;
            resourceInputs["googlePartnerName"] = args?.googlePartnerName;
            resourceInputs["healthcareCustomEndpoint"] = args?.healthcareCustomEndpoint;
            resourceInputs["iam2CustomEndpoint"] = args?.iam2CustomEndpoint;
            resourceInputs["iam3CustomEndpoint"] = args?.iam3CustomEndpoint;
            resourceInputs["iamBetaCustomEndpoint"] = args?.iamBetaCustomEndpoint;
            resourceInputs["iamCredentialsCustomEndpoint"] = args?.iamCredentialsCustomEndpoint;
            resourceInputs["iamCustomEndpoint"] = args?.iamCustomEndpoint;
            resourceInputs["iamWorkforcePoolCustomEndpoint"] = args?.iamWorkforcePoolCustomEndpoint;
            resourceInputs["iapCustomEndpoint"] = args?.iapCustomEndpoint;
            resourceInputs["identityPlatformCustomEndpoint"] = args?.identityPlatformCustomEndpoint;
            resourceInputs["impersonateServiceAccount"] = args?.impersonateServiceAccount;
            resourceInputs["impersonateServiceAccountDelegates"] = pulumi.output(args?.impersonateServiceAccountDelegates).apply(JSON.stringify);
            resourceInputs["integrationConnectorsCustomEndpoint"] = args?.integrationConnectorsCustomEndpoint;
            resourceInputs["integrationsCustomEndpoint"] = args?.integrationsCustomEndpoint;
            resourceInputs["kmsCustomEndpoint"] = args?.kmsCustomEndpoint;
            resourceInputs["loggingCustomEndpoint"] = args?.loggingCustomEndpoint;
            resourceInputs["lookerCustomEndpoint"] = args?.lookerCustomEndpoint;
            resourceInputs["lustreCustomEndpoint"] = args?.lustreCustomEndpoint;
            resourceInputs["managedKafkaCustomEndpoint"] = args?.managedKafkaCustomEndpoint;
            resourceInputs["memcacheCustomEndpoint"] = args?.memcacheCustomEndpoint;
            resourceInputs["memorystoreCustomEndpoint"] = args?.memorystoreCustomEndpoint;
            resourceInputs["migrationCenterCustomEndpoint"] = args?.migrationCenterCustomEndpoint;
            resourceInputs["mlEngineCustomEndpoint"] = args?.mlEngineCustomEndpoint;
            resourceInputs["modelArmorCustomEndpoint"] = args?.modelArmorCustomEndpoint;
            resourceInputs["modelArmorGlobalCustomEndpoint"] = args?.modelArmorGlobalCustomEndpoint;
            resourceInputs["monitoringCustomEndpoint"] = args?.monitoringCustomEndpoint;
            resourceInputs["netappCustomEndpoint"] = args?.netappCustomEndpoint;
            resourceInputs["networkConnectivityCustomEndpoint"] = args?.networkConnectivityCustomEndpoint;
            resourceInputs["networkConnectivityv1CustomEndpoint"] = args?.networkConnectivityv1CustomEndpoint;
            resourceInputs["networkManagementCustomEndpoint"] = args?.networkManagementCustomEndpoint;
            resourceInputs["networkSecurityCustomEndpoint"] = args?.networkSecurityCustomEndpoint;
            resourceInputs["networkServicesCustomEndpoint"] = args?.networkServicesCustomEndpoint;
            resourceInputs["notebooksCustomEndpoint"] = args?.notebooksCustomEndpoint;
            resourceInputs["observabilityCustomEndpoint"] = args?.observabilityCustomEndpoint;
            resourceInputs["oracleDatabaseCustomEndpoint"] = args?.oracleDatabaseCustomEndpoint;
            resourceInputs["orgPolicyCustomEndpoint"] = args?.orgPolicyCustomEndpoint;
            resourceInputs["osConfigCustomEndpoint"] = args?.osConfigCustomEndpoint;
            resourceInputs["osConfigV2CustomEndpoint"] = args?.osConfigV2CustomEndpoint;
            resourceInputs["osLoginCustomEndpoint"] = args?.osLoginCustomEndpoint;
            resourceInputs["parallelstoreCustomEndpoint"] = args?.parallelstoreCustomEndpoint;
            resourceInputs["parameterManagerCustomEndpoint"] = args?.parameterManagerCustomEndpoint;
            resourceInputs["parameterManagerRegionalCustomEndpoint"] = args?.parameterManagerRegionalCustomEndpoint;
            resourceInputs["privatecaCustomEndpoint"] = args?.privatecaCustomEndpoint;
            resourceInputs["privilegedAccessManagerCustomEndpoint"] = args?.privilegedAccessManagerCustomEndpoint;
            resourceInputs["project"] = (args?.project) ?? utilities.getEnv("GOOGLE_PROJECT", "GOOGLE_CLOUD_PROJECT", "GCLOUD_PROJECT", "CLOUDSDK_CORE_PROJECT");
            resourceInputs["publicCaCustomEndpoint"] = args?.publicCaCustomEndpoint;
            resourceInputs["pubsubCustomEndpoint"] = args?.pubsubCustomEndpoint;
            resourceInputs["pubsubLiteCustomEndpoint"] = args?.pubsubLiteCustomEndpoint;
            resourceInputs["pulumiAttributionLabelAdditionStrategy"] = args?.pulumiAttributionLabelAdditionStrategy;
            resourceInputs["recaptchaEnterpriseCustomEndpoint"] = args?.recaptchaEnterpriseCustomEndpoint;
            resourceInputs["redisCustomEndpoint"] = args?.redisCustomEndpoint;
            resourceInputs["region"] = (args?.region) ?? utilities.getEnv("GOOGLE_REGION", "GCLOUD_REGION", "CLOUDSDK_COMPUTE_REGION");
            resourceInputs["requestReason"] = args?.requestReason;
            resourceInputs["requestTimeout"] = args?.requestTimeout;
            resourceInputs["resourceManager3CustomEndpoint"] = args?.resourceManager3CustomEndpoint;
            resourceInputs["resourceManagerCustomEndpoint"] = args?.resourceManagerCustomEndpoint;
            resourceInputs["resourceManagerV3CustomEndpoint"] = args?.resourceManagerV3CustomEndpoint;
            resourceInputs["runtimeConfigCustomEndpoint"] = args?.runtimeConfigCustomEndpoint;
            resourceInputs["runtimeconfigCustomEndpoint"] = args?.runtimeconfigCustomEndpoint;
            resourceInputs["saasRuntimeCustomEndpoint"] = args?.saasRuntimeCustomEndpoint;
            resourceInputs["scopes"] = pulumi.output(args?.scopes).apply(JSON.stringify);
            resourceInputs["secretManagerCustomEndpoint"] = args?.secretManagerCustomEndpoint;
            resourceInputs["secretManagerRegionalCustomEndpoint"] = args?.secretManagerRegionalCustomEndpoint;
            resourceInputs["secureSourceManagerCustomEndpoint"] = args?.secureSourceManagerCustomEndpoint;
            resourceInputs["securityCenterCustomEndpoint"] = args?.securityCenterCustomEndpoint;
            resourceInputs["securityCenterManagementCustomEndpoint"] = args?.securityCenterManagementCustomEndpoint;
            resourceInputs["securityCenterV2CustomEndpoint"] = args?.securityCenterV2CustomEndpoint;
            resourceInputs["securityScannerCustomEndpoint"] = args?.securityScannerCustomEndpoint;
            resourceInputs["securitypostureCustomEndpoint"] = args?.securitypostureCustomEndpoint;
            resourceInputs["serviceDirectoryCustomEndpoint"] = args?.serviceDirectoryCustomEndpoint;
            resourceInputs["serviceManagementCustomEndpoint"] = args?.serviceManagementCustomEndpoint;
            resourceInputs["serviceNetworkingCustomEndpoint"] = args?.serviceNetworkingCustomEndpoint;
            resourceInputs["serviceUsageCustomEndpoint"] = args?.serviceUsageCustomEndpoint;
            resourceInputs["siteVerificationCustomEndpoint"] = args?.siteVerificationCustomEndpoint;
            resourceInputs["sourceRepoCustomEndpoint"] = args?.sourceRepoCustomEndpoint;
            resourceInputs["spannerCustomEndpoint"] = args?.spannerCustomEndpoint;
            resourceInputs["sqlCustomEndpoint"] = args?.sqlCustomEndpoint;
            resourceInputs["storageBatchOperationsCustomEndpoint"] = args?.storageBatchOperationsCustomEndpoint;
            resourceInputs["storageControlCustomEndpoint"] = args?.storageControlCustomEndpoint;
            resourceInputs["storageCustomEndpoint"] = args?.storageCustomEndpoint;
            resourceInputs["storageInsightsCustomEndpoint"] = args?.storageInsightsCustomEndpoint;
            resourceInputs["storageTransferCustomEndpoint"] = args?.storageTransferCustomEndpoint;
            resourceInputs["tagsCustomEndpoint"] = args?.tagsCustomEndpoint;
            resourceInputs["tagsLocationCustomEndpoint"] = args?.tagsLocationCustomEndpoint;
            resourceInputs["tpuV2CustomEndpoint"] = args?.tpuV2CustomEndpoint;
            resourceInputs["transcoderCustomEndpoint"] = args?.transcoderCustomEndpoint;
            resourceInputs["universeDomain"] = args?.universeDomain;
            resourceInputs["userProjectOverride"] = pulumi.output(args?.userProjectOverride).apply(JSON.stringify);
            resourceInputs["vertexAiCustomEndpoint"] = args?.vertexAiCustomEndpoint;
            resourceInputs["vmwareengineCustomEndpoint"] = args?.vmwareengineCustomEndpoint;
            resourceInputs["vpcAccessCustomEndpoint"] = args?.vpcAccessCustomEndpoint;
            resourceInputs["workbenchCustomEndpoint"] = args?.workbenchCustomEndpoint;
            resourceInputs["workflowsCustomEndpoint"] = args?.workflowsCustomEndpoint;
            resourceInputs["workstationsCustomEndpoint"] = args?.workstationsCustomEndpoint;
            resourceInputs["zone"] = (args?.zone) ?? utilities.getEnv("GOOGLE_ZONE", "GCLOUD_ZONE", "CLOUDSDK_COMPUTE_ZONE");
        }
        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
        const secretOpts = { additionalSecretOutputs: ["accessToken"] };
        opts = pulumi.mergeOptions(opts, secretOpts);
        super(Provider.__pulumiType, name, resourceInputs, opts);
    }
    /**
     * This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
     */
    terraformConfig() {
        return pulumi.runtime.call("pulumi:providers:gcp/terraformConfig", {
            "__self__": this,
        }, this);
    }
}
exports.Provider = Provider;
/** @internal */
Provider.__pulumiType = 'gcp';
//# sourceMappingURL=provider.js.map