Documentation ¶
Overview ¶
----------------------------------------------------------------------------
This file is copied here by Magic Modules. The code for building up a sql database instance object is copied from the manually implemented provider file: third_party/terraform/resources/resource_sql_database_instance.go.erb.go
----------------------------------------------------------------------------
----------------------------------------------------------------------------
This file is copied here by Magic Modules. The code for building up a storage bucket object is copied from the manually implemented provider file: third_party/terraform/resources/resource_storage_bucket.go
----------------------------------------------------------------------------
Index ¶
- Constants
- Variables
- func GetBigQueryTableApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetBigtableClusterApiObjects(d TerraformResourceData, config *Config) ([]map[string]interface{}, error)
- func GetBigtableInstanceApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetCloudFunctionsCloudFunctionApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetCloudFunctionsFunctionApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetComputeSecurityPolicyApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetContainerClusterApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetContainerNodePoolApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetOrganizationIAMCustomRoleApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetProjectApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetProjectBillingInfoApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetProjectIAMCustomRoleApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetSQLDatabaseInstanceApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetServiceUsageApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- func GetStorageBucketApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)
- type Asset
- func FetchBigqueryDatasetIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchFolderIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchKmsCryptoKeyIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchKmsKeyRingIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchOrganizationIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchProjectIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchPubsubSubscriptionIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchSpannerDatabaseIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchSpannerInstanceIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func FetchStorageBucketIamPolicy(d TerraformResourceData, config *Config) (Asset, error)
- func GetBigQueryTableCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetBigqueryDatasetIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetBigqueryDatasetIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetBigqueryDatasetIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetBigtableClusterCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetBigtableInstanceCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetCloudFunctionsCloudFunctionCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetCloudFunctionsFunctionCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetComputeSecurityPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetContainerClusterCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetContainerNodePoolCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetFolderIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetFolderIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetFolderIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetFolderOrgPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetKmsCryptoKeyIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetKmsCryptoKeyIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetKmsCryptoKeyIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetKmsKeyRingIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetKmsKeyRingIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetKmsKeyRingIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetOrganizationIAMCustomRoleCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetOrganizationIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetOrganizationIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetOrganizationIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetOrganizationPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectBillingInfoCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectIAMCustomRoleCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetProjectOrgPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetPubsubSubscriptionIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetPubsubSubscriptionIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetPubsubSubscriptionIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSQLDatabaseInstanceCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetServiceUsageCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSpannerDatabaseIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSpannerDatabaseIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSpannerDatabaseIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSpannerInstanceIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSpannerInstanceIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetSpannerInstanceIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetStorageBucketCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetStorageBucketIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetStorageBucketIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func GetStorageBucketIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)
- func MergeBigqueryDatasetIamBinding(existing, incoming Asset) Asset
- func MergeBigqueryDatasetIamBindingDelete(existing, incoming Asset) Asset
- func MergeBigqueryDatasetIamMember(existing, incoming Asset) Asset
- func MergeBigqueryDatasetIamMemberDelete(existing, incoming Asset) Asset
- func MergeBigqueryDatasetIamPolicy(existing, incoming Asset) Asset
- func MergeFolderIamBinding(existing, incoming Asset) Asset
- func MergeFolderIamBindingDelete(existing, incoming Asset) Asset
- func MergeFolderIamMember(existing, incoming Asset) Asset
- func MergeFolderIamMemberDelete(existing, incoming Asset) Asset
- func MergeFolderIamPolicy(existing, incoming Asset) Asset
- func MergeFolderOrgPolicy(existing, incoming Asset) Asset
- func MergeKmsCryptoKeyIamBinding(existing, incoming Asset) Asset
- func MergeKmsCryptoKeyIamBindingDelete(existing, incoming Asset) Asset
- func MergeKmsCryptoKeyIamMember(existing, incoming Asset) Asset
- func MergeKmsCryptoKeyIamMemberDelete(existing, incoming Asset) Asset
- func MergeKmsCryptoKeyIamPolicy(existing, incoming Asset) Asset
- func MergeKmsKeyRingIamBinding(existing, incoming Asset) Asset
- func MergeKmsKeyRingIamBindingDelete(existing, incoming Asset) Asset
- func MergeKmsKeyRingIamMember(existing, incoming Asset) Asset
- func MergeKmsKeyRingIamMemberDelete(existing, incoming Asset) Asset
- func MergeKmsKeyRingIamPolicy(existing, incoming Asset) Asset
- func MergeOrganizationIamBinding(existing, incoming Asset) Asset
- func MergeOrganizationIamBindingDelete(existing, incoming Asset) Asset
- func MergeOrganizationIamMember(existing, incoming Asset) Asset
- func MergeOrganizationIamMemberDelete(existing, incoming Asset) Asset
- func MergeOrganizationIamPolicy(existing, incoming Asset) Asset
- func MergeOrganizationPolicy(existing, incoming Asset) Asset
- func MergeProject(existing, incoming Asset) Asset
- func MergeProjectIamBinding(existing, incoming Asset) Asset
- func MergeProjectIamBindingDelete(existing, incoming Asset) Asset
- func MergeProjectIamMember(existing, incoming Asset) Asset
- func MergeProjectIamMemberDelete(existing, incoming Asset) Asset
- func MergeProjectIamPolicy(existing, incoming Asset) Asset
- func MergeProjectOrgPolicy(existing, incoming Asset) Asset
- func MergePubsubSubscriptionIamBinding(existing, incoming Asset) Asset
- func MergePubsubSubscriptionIamBindingDelete(existing, incoming Asset) Asset
- func MergePubsubSubscriptionIamMember(existing, incoming Asset) Asset
- func MergePubsubSubscriptionIamMemberDelete(existing, incoming Asset) Asset
- func MergePubsubSubscriptionIamPolicy(existing, incoming Asset) Asset
- func MergeSpannerDatabaseIamBinding(existing, incoming Asset) Asset
- func MergeSpannerDatabaseIamBindingDelete(existing, incoming Asset) Asset
- func MergeSpannerDatabaseIamMember(existing, incoming Asset) Asset
- func MergeSpannerDatabaseIamMemberDelete(existing, incoming Asset) Asset
- func MergeSpannerDatabaseIamPolicy(existing, incoming Asset) Asset
- func MergeSpannerInstanceIamBinding(existing, incoming Asset) Asset
- func MergeSpannerInstanceIamBindingDelete(existing, incoming Asset) Asset
- func MergeSpannerInstanceIamMember(existing, incoming Asset) Asset
- func MergeSpannerInstanceIamMemberDelete(existing, incoming Asset) Asset
- func MergeSpannerInstanceIamPolicy(existing, incoming Asset) Asset
- func MergeStorageBucketIamBinding(existing, incoming Asset) Asset
- func MergeStorageBucketIamBindingDelete(existing, incoming Asset) Asset
- func MergeStorageBucketIamMember(existing, incoming Asset) Asset
- func MergeStorageBucketIamMemberDelete(existing, incoming Asset) Asset
- func MergeStorageBucketIamPolicy(existing, incoming Asset) Asset
- type AssetResource
- type BooleanPolicy
- type ConvertFunc
- type FetchFullResourceFunc
- type GetApiObjectFunc
- type IAMBinding
- type IAMPolicy
- type ListPolicy
- type ListPolicyAllValues
- type MergeFunc
- type OrgPolicy
- type ResourceConverter
- type RestoreDefault
- type Timestamp
Constants ¶
const BigQueryTableAssetType string = "bigquery.googleapis.com/Table"
const CloudFunctionsCloudFunctionAssetType string = "cloudfunctions.googleapis.com/CloudFunction"
const ComputeSecurityPolicyAssetType string = "compute.googleapis.com/SecurityPolicy"
const ContainerClusterAssetType string = "container.googleapis.com/Cluster"
const ContainerNodePoolAssetType string = "container.googleapis.com/NodePool"
const OrganizationIAMCustomRoleAssetType string = "iam.googleapis.com/Role"
const ProjectIAMCustomRoleAssetType string = "iam.googleapis.com/Role"
const SQLDatabaseInstanceAssetType string = "sqladmin.googleapis.com/Instance"
const ServiceUsageAssetType string = "serviceusage.googleapis.com/Service"
const StorageBucketAssetType string = "storage.googleapis.com/Bucket"
const StorageBucketIAMAssetType string = "storage.googleapis.com/Bucket"
Provide a separate asset type constant so we don't have to worry about name conflicts between IAM and non-IAM converter files
Variables ¶
var ErrEmptyIdentityField = errors.New("empty identity field")
ErrEmptyIdentityField can be returned when fetching a resource is not possible due to the identity field of that resource returning empty.
var ErrNoConversion = errors.New("no conversion")
because of the current state of the system. Example: The conversion requires that the resource has already been created and is now being updated).
var ErrResourceInaccessible = errors.New("resource does not exist or service account is lacking suffient permissions")
ErrResourceInaccessible can be returned when fetching an IAM resource on a project that has not yet been created or if the service account lacks sufficient permissions
Functions ¶
func GetProjectApiObject ¶
Types ¶
type Asset ¶
type Asset struct { // The name, in a peculiar format: `\\<api>.googleapis.com/<self_link>` Name string `json:"name"` // The type name in `google.<api>.<resourcename>` format. Type string `json:"asset_type"` Resource *AssetResource `json:"resource,omitempty"` IAMPolicy *IAMPolicy `json:"iam_policy,omitempty"` OrgPolicy []*OrgPolicy `json:"org_policy,omitempty"` }
Asset is the CAI representation of a resource.
func FetchFolderIamPolicy ¶
func FetchProjectIamPolicy ¶
func GetProjectCaiObject ¶
func MergeFolderIamBinding ¶
func MergeFolderIamMember ¶
func MergeFolderIamPolicy ¶
func MergeFolderOrgPolicy ¶
func MergeOrganizationPolicy ¶
func MergeProject ¶
func MergeProjectIamBinding ¶
func MergeProjectIamMember ¶
func MergeProjectIamPolicy ¶
func MergeProjectOrgPolicy ¶
type AssetResource ¶
type AssetResource struct { // Api version Version string `json:"version"` // URI including scheme for the discovery doc - assembled from // product name and version. DiscoveryDocumentURI string `json:"discovery_document_uri"` // Resource name. DiscoveryName string `json:"discovery_name"` // Actual resource state as per Terraform. Note that this does // not necessarily correspond perfectly with the CAI representation // as there are occasional deviations between CAI and API responses. // This returns the API response values instead. Data map[string]interface{} `json:"data,omitempty"` }
AssetResource is the Asset's Resource field.
type BooleanPolicy ¶
type BooleanPolicy struct {
Enforced bool `json:"enforced,omitempty"`
}
type ConvertFunc ¶
type FetchFullResourceFunc ¶
FetchFullResourceFunc allows initial data for a resource to be fetched from the API and merged with the planned changes. This is useful for resources that are only partially managed by Terraform, like IAM policies managed with member/binding resources.
type GetApiObjectFunc ¶
type IAMBinding ¶
type IAMPolicy ¶
type IAMPolicy struct {
Bindings []IAMBinding `json:"bindings"`
}
type ListPolicy ¶
type ListPolicy struct { AllowedValues []string `json:"allowed_values,omitempty"` DeniedValues []string `json:"denied_values,omitempty"` AllValues ListPolicyAllValues `json:"all_values,omitempty"` SuggestedValue string `json:"suggested_value,omitempty"` InheritFromParent bool `json:"inherit_from_parent,omitempty"` }
type ListPolicyAllValues ¶
type ListPolicyAllValues int32
type MergeFunc ¶
MergeFunc combines multiple terraform resources into a single CAI asset. The incoming asset will either be an asset that was created/updated or deleted.
type OrgPolicy ¶
type OrgPolicy struct { Constraint string `json:"constraint,omitempty"` ListPolicy *ListPolicy `json:"listPolicy"` BooleanPolicy *BooleanPolicy `json:"booleanPolicy"` RestoreDefault *RestoreDefault `json:"restoreDefault"` UpdateTime *Timestamp `json:"update_time,omitempty"` }
type ResourceConverter ¶
type ResourceConverter struct { AssetType string Convert ConvertFunc FetchFullResource FetchFullResourceFunc MergeCreateUpdate MergeFunc MergeDelete MergeFunc }
type RestoreDefault ¶
type RestoreDefault struct { }
Source Files ¶
- bigquery_dataset_iam.go
- bigquery_table.go
- bigtable_cluster.go
- bigtable_instance.go
- cai.go
- cloudfunctions_cloud_function.go
- cloudfunctions_function.go
- compute_security_policy.go
- constants.go
- container.go
- folder_iam.go
- folder_organization_policy.go
- getconfig.go
- iam_helpers.go
- json_map.go
- kms_crypto_key_iam.go
- kms_key_ring_iam.go
- monitoring_slo_helper.go
- organization_iam.go
- organization_iam_custom_role.go
- organization_policy.go
- project.go
- project_iam.go
- project_iam_custom_role.go
- project_organization_policy.go
- project_service.go
- pubsub_subscription_iam.go
- spanner_database_iam.go
- spanner_instance_iam.go
- sql_database_instance.go
- storage_bucket.go
- storage_bucket_iam.go