google

package
v0.0.0-...-d0ed98c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

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

View Source
const BigQueryTableAssetType string = "bigquery.googleapis.com/Table"
View Source
const CloudFunctionsCloudFunctionAssetType string = "cloudfunctions.googleapis.com/CloudFunction"
View Source
const ComputeSecurityPolicyAssetType string = "compute.googleapis.com/SecurityPolicy"
View Source
const ContainerClusterAssetType string = "container.googleapis.com/Cluster"
View Source
const ContainerNodePoolAssetType string = "container.googleapis.com/NodePool"
View Source
const OrganizationIAMCustomRoleAssetType string = "iam.googleapis.com/Role"
View Source
const ProjectIAMCustomRoleAssetType string = "iam.googleapis.com/Role"
View Source
const SQLDatabaseInstanceAssetType string = "sqladmin.googleapis.com/Instance"
View Source
const ServiceUsageAssetType string = "serviceusage.googleapis.com/Service"
View Source
const StorageBucketAssetType string = "storage.googleapis.com/Bucket"
View Source
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

View Source
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.

View Source
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).

View Source
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 GetBigQueryTableApiObject

func GetBigQueryTableApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetBigtableClusterApiObjects

func GetBigtableClusterApiObjects(d TerraformResourceData, config *Config) ([]map[string]interface{}, error)

func GetBigtableInstanceApiObject

func GetBigtableInstanceApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetCloudFunctionsCloudFunctionApiObject

func GetCloudFunctionsCloudFunctionApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetCloudFunctionsFunctionApiObject

func GetCloudFunctionsFunctionApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetComputeSecurityPolicyApiObject

func GetComputeSecurityPolicyApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetContainerClusterApiObject

func GetContainerClusterApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetContainerNodePoolApiObject

func GetContainerNodePoolApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetOrganizationIAMCustomRoleApiObject

func GetOrganizationIAMCustomRoleApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetProjectApiObject

func GetProjectApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetProjectBillingInfoApiObject

func GetProjectBillingInfoApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetProjectIAMCustomRoleApiObject

func GetProjectIAMCustomRoleApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetSQLDatabaseInstanceApiObject

func GetSQLDatabaseInstanceApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetServiceUsageApiObject

func GetServiceUsageApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

func GetStorageBucketApiObject

func GetStorageBucketApiObject(d TerraformResourceData, config *Config) (map[string]interface{}, error)

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 FetchBigqueryDatasetIamPolicy

func FetchBigqueryDatasetIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchFolderIamPolicy

func FetchFolderIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchKmsCryptoKeyIamPolicy

func FetchKmsCryptoKeyIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchKmsKeyRingIamPolicy

func FetchKmsKeyRingIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchOrganizationIamPolicy

func FetchOrganizationIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchProjectIamPolicy

func FetchProjectIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchPubsubSubscriptionIamPolicy

func FetchPubsubSubscriptionIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchSpannerDatabaseIamPolicy

func FetchSpannerDatabaseIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchSpannerInstanceIamPolicy

func FetchSpannerInstanceIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func FetchStorageBucketIamPolicy

func FetchStorageBucketIamPolicy(d TerraformResourceData, config *Config) (Asset, error)

func GetBigQueryTableCaiObject

func GetBigQueryTableCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetBigqueryDatasetIamBindingCaiObject

func GetBigqueryDatasetIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetBigqueryDatasetIamMemberCaiObject

func GetBigqueryDatasetIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetBigqueryDatasetIamPolicyCaiObject

func GetBigqueryDatasetIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetBigtableClusterCaiObject

func GetBigtableClusterCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetBigtableInstanceCaiObject

func GetBigtableInstanceCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetCloudFunctionsCloudFunctionCaiObject

func GetCloudFunctionsCloudFunctionCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetCloudFunctionsFunctionCaiObject

func GetCloudFunctionsFunctionCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetComputeSecurityPolicyCaiObject

func GetComputeSecurityPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetContainerClusterCaiObject

func GetContainerClusterCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetContainerNodePoolCaiObject

func GetContainerNodePoolCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetFolderIamBindingCaiObject

func GetFolderIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetFolderIamMemberCaiObject

func GetFolderIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetFolderIamPolicyCaiObject

func GetFolderIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetFolderOrgPolicyCaiObject

func GetFolderOrgPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetKmsCryptoKeyIamBindingCaiObject

func GetKmsCryptoKeyIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetKmsCryptoKeyIamMemberCaiObject

func GetKmsCryptoKeyIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetKmsCryptoKeyIamPolicyCaiObject

func GetKmsCryptoKeyIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetKmsKeyRingIamBindingCaiObject

func GetKmsKeyRingIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetKmsKeyRingIamMemberCaiObject

func GetKmsKeyRingIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetKmsKeyRingIamPolicyCaiObject

func GetKmsKeyRingIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetOrganizationIAMCustomRoleCaiObject

func GetOrganizationIAMCustomRoleCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetOrganizationIamBindingCaiObject

func GetOrganizationIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetOrganizationIamMemberCaiObject

func GetOrganizationIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetOrganizationIamPolicyCaiObject

func GetOrganizationIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetOrganizationPolicyCaiObject

func GetOrganizationPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectBillingInfoCaiObject

func GetProjectBillingInfoCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectCaiObject

func GetProjectCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectIAMCustomRoleCaiObject

func GetProjectIAMCustomRoleCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectIamBindingCaiObject

func GetProjectIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectIamMemberCaiObject

func GetProjectIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectIamPolicyCaiObject

func GetProjectIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetProjectOrgPolicyCaiObject

func GetProjectOrgPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetPubsubSubscriptionIamBindingCaiObject

func GetPubsubSubscriptionIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetPubsubSubscriptionIamMemberCaiObject

func GetPubsubSubscriptionIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetPubsubSubscriptionIamPolicyCaiObject

func GetPubsubSubscriptionIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSQLDatabaseInstanceCaiObject

func GetSQLDatabaseInstanceCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetServiceUsageCaiObject

func GetServiceUsageCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSpannerDatabaseIamBindingCaiObject

func GetSpannerDatabaseIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSpannerDatabaseIamMemberCaiObject

func GetSpannerDatabaseIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSpannerDatabaseIamPolicyCaiObject

func GetSpannerDatabaseIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSpannerInstanceIamBindingCaiObject

func GetSpannerInstanceIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSpannerInstanceIamMemberCaiObject

func GetSpannerInstanceIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetSpannerInstanceIamPolicyCaiObject

func GetSpannerInstanceIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetStorageBucketCaiObject

func GetStorageBucketCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetStorageBucketIamBindingCaiObject

func GetStorageBucketIamBindingCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetStorageBucketIamMemberCaiObject

func GetStorageBucketIamMemberCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func GetStorageBucketIamPolicyCaiObject

func GetStorageBucketIamPolicyCaiObject(d TerraformResourceData, config *Config) ([]Asset, error)

func MergeBigqueryDatasetIamBinding

func MergeBigqueryDatasetIamBinding(existing, incoming Asset) Asset

func MergeBigqueryDatasetIamBindingDelete

func MergeBigqueryDatasetIamBindingDelete(existing, incoming Asset) Asset

func MergeBigqueryDatasetIamMember

func MergeBigqueryDatasetIamMember(existing, incoming Asset) Asset

func MergeBigqueryDatasetIamMemberDelete

func MergeBigqueryDatasetIamMemberDelete(existing, incoming Asset) Asset

func MergeBigqueryDatasetIamPolicy

func MergeBigqueryDatasetIamPolicy(existing, incoming Asset) Asset

func MergeFolderIamBinding

func MergeFolderIamBinding(existing, incoming Asset) Asset

func MergeFolderIamBindingDelete

func MergeFolderIamBindingDelete(existing, incoming Asset) Asset

func MergeFolderIamMember

func MergeFolderIamMember(existing, incoming Asset) Asset

func MergeFolderIamMemberDelete

func MergeFolderIamMemberDelete(existing, incoming Asset) Asset

func MergeFolderIamPolicy

func MergeFolderIamPolicy(existing, incoming Asset) Asset

func MergeFolderOrgPolicy

func MergeFolderOrgPolicy(existing, incoming Asset) Asset

func MergeKmsCryptoKeyIamBinding

func MergeKmsCryptoKeyIamBinding(existing, incoming Asset) Asset

func MergeKmsCryptoKeyIamBindingDelete

func MergeKmsCryptoKeyIamBindingDelete(existing, incoming Asset) Asset

func MergeKmsCryptoKeyIamMember

func MergeKmsCryptoKeyIamMember(existing, incoming Asset) Asset

func MergeKmsCryptoKeyIamMemberDelete

func MergeKmsCryptoKeyIamMemberDelete(existing, incoming Asset) Asset

func MergeKmsCryptoKeyIamPolicy

func MergeKmsCryptoKeyIamPolicy(existing, incoming Asset) Asset

func MergeKmsKeyRingIamBinding

func MergeKmsKeyRingIamBinding(existing, incoming Asset) Asset

func MergeKmsKeyRingIamBindingDelete

func MergeKmsKeyRingIamBindingDelete(existing, incoming Asset) Asset

func MergeKmsKeyRingIamMember

func MergeKmsKeyRingIamMember(existing, incoming Asset) Asset

func MergeKmsKeyRingIamMemberDelete

func MergeKmsKeyRingIamMemberDelete(existing, incoming Asset) Asset

func MergeKmsKeyRingIamPolicy

func MergeKmsKeyRingIamPolicy(existing, incoming Asset) Asset

func MergeOrganizationIamBinding

func MergeOrganizationIamBinding(existing, incoming Asset) Asset

func MergeOrganizationIamBindingDelete

func MergeOrganizationIamBindingDelete(existing, incoming Asset) Asset

func MergeOrganizationIamMember

func MergeOrganizationIamMember(existing, incoming Asset) Asset

func MergeOrganizationIamMemberDelete

func MergeOrganizationIamMemberDelete(existing, incoming Asset) Asset

func MergeOrganizationIamPolicy

func MergeOrganizationIamPolicy(existing, incoming Asset) Asset

func MergeOrganizationPolicy

func MergeOrganizationPolicy(existing, incoming Asset) Asset

func MergeProject

func MergeProject(existing, incoming Asset) Asset

func MergeProjectIamBinding

func MergeProjectIamBinding(existing, incoming Asset) Asset

func MergeProjectIamBindingDelete

func MergeProjectIamBindingDelete(existing, incoming Asset) Asset

func MergeProjectIamMember

func MergeProjectIamMember(existing, incoming Asset) Asset

func MergeProjectIamMemberDelete

func MergeProjectIamMemberDelete(existing, incoming Asset) Asset

func MergeProjectIamPolicy

func MergeProjectIamPolicy(existing, incoming Asset) Asset

func MergeProjectOrgPolicy

func MergeProjectOrgPolicy(existing, incoming Asset) Asset

func MergePubsubSubscriptionIamBinding

func MergePubsubSubscriptionIamBinding(existing, incoming Asset) Asset

func MergePubsubSubscriptionIamBindingDelete

func MergePubsubSubscriptionIamBindingDelete(existing, incoming Asset) Asset

func MergePubsubSubscriptionIamMember

func MergePubsubSubscriptionIamMember(existing, incoming Asset) Asset

func MergePubsubSubscriptionIamMemberDelete

func MergePubsubSubscriptionIamMemberDelete(existing, incoming Asset) Asset

func MergePubsubSubscriptionIamPolicy

func MergePubsubSubscriptionIamPolicy(existing, incoming Asset) Asset

func MergeSpannerDatabaseIamBinding

func MergeSpannerDatabaseIamBinding(existing, incoming Asset) Asset

func MergeSpannerDatabaseIamBindingDelete

func MergeSpannerDatabaseIamBindingDelete(existing, incoming Asset) Asset

func MergeSpannerDatabaseIamMember

func MergeSpannerDatabaseIamMember(existing, incoming Asset) Asset

func MergeSpannerDatabaseIamMemberDelete

func MergeSpannerDatabaseIamMemberDelete(existing, incoming Asset) Asset

func MergeSpannerDatabaseIamPolicy

func MergeSpannerDatabaseIamPolicy(existing, incoming Asset) Asset

func MergeSpannerInstanceIamBinding

func MergeSpannerInstanceIamBinding(existing, incoming Asset) Asset

func MergeSpannerInstanceIamBindingDelete

func MergeSpannerInstanceIamBindingDelete(existing, incoming Asset) Asset

func MergeSpannerInstanceIamMember

func MergeSpannerInstanceIamMember(existing, incoming Asset) Asset

func MergeSpannerInstanceIamMemberDelete

func MergeSpannerInstanceIamMemberDelete(existing, incoming Asset) Asset

func MergeSpannerInstanceIamPolicy

func MergeSpannerInstanceIamPolicy(existing, incoming Asset) Asset

func MergeStorageBucketIamBinding

func MergeStorageBucketIamBinding(existing, incoming Asset) Asset

func MergeStorageBucketIamBindingDelete

func MergeStorageBucketIamBindingDelete(existing, incoming Asset) Asset

func MergeStorageBucketIamMember

func MergeStorageBucketIamMember(existing, incoming Asset) Asset

func MergeStorageBucketIamMemberDelete

func MergeStorageBucketIamMemberDelete(existing, incoming Asset) Asset

func MergeStorageBucketIamPolicy

func MergeStorageBucketIamPolicy(existing, incoming Asset) Asset

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 ConvertFunc func(d TerraformResourceData, config *Config) ([]Asset, error)

type FetchFullResourceFunc

type FetchFullResourceFunc func(d TerraformResourceData, config *Config) (Asset, error)

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 GetApiObjectFunc func(d TerraformResourceData, config *Config) (map[string]interface{}, error)

type IAMBinding

type IAMBinding struct {
	Role    string   `json:"role"`
	Members []string `json:"members"`
}

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

type MergeFunc func(existing, incoming Asset) Asset

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"`
}

func GetFolderOrgPolicyApiObject

func GetFolderOrgPolicyApiObject(d TerraformResourceData, config *Config) (OrgPolicy, error)

func GetOrganizationPolicyApiObject

func GetOrganizationPolicyApiObject(d TerraformResourceData, config *Config) (OrgPolicy, error)

func GetProjectOrgPolicyApiObject

func GetProjectOrgPolicyApiObject(d TerraformResourceData, config *Config) (OrgPolicy, error)

type ResourceConverter

type ResourceConverter struct {
	AssetType         string
	Convert           ConvertFunc
	FetchFullResource FetchFullResourceFunc
	MergeCreateUpdate MergeFunc
	MergeDelete       MergeFunc
}

type RestoreDefault

type RestoreDefault struct {
}

type Timestamp

type Timestamp struct {
	Seconds int64 `json:"seconds,omitempty"`
	Nanos   int64 `json:"nanos,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL