Documentation ¶
Index ¶
- Variables
- func CreateCloudAsset(credential, bucket, projectId, cloudAssetPrefix string) (string, error)
- func CreateFileForImport(meta_structs []Metadata, ...) error
- func InsertIntoBuffer(meta_struct *Metadata, buf *bytes.Buffer, ...) error
- func IsDefaultFirewall(meta_struct Metadata) bool
- func IsDefaultNetwork(meta_struct Metadata) bool
- func IsDefaultRoute(meta_struct Metadata) bool
- func IsDefaultSubnetwork(meta_struct Metadata) bool
- func IsServiceAccountDefault(email string) bool
- func ReadFileFromGCS(URI string) ([]byte, error)
- func ReadMetaFile(sourcefile string) ([]string, error)
- type Metadata
- type ResourceMetadata
Constants ¶
This section is empty.
Variables ¶
View Source
var ResouceNameMap = map[string]ResourceMetadata{
"cloudkms.googleapis.com/KeyRing": {"google_kms_key_ring", "project"},
"cloudkms.googleapis.com/CryptoKey": {"google_kms_crypto_key", "project"},
"cloudresourcemanager.googleapis.com/Project": {"google_project", "project"},
"compute.googleapis.com/Autoscaler": {"google_compute_autoscaler", "project/zone"},
"compute.googleapis.com/BackendService": {"google_compute_backend_service", "project"},
"compute.googleapis.com/BackendBucket": {"google_compute_backend_bucket", "project"},
"compute.googleapis.com/Disk": {"google_compute_disk", "project/zone"},
"compute.googleapis.com/Firewall": {"google_compute_firewall", "project"},
"compute.googleapis.com/ForwardingRule": {"google_compute_forwarding_rule", "project"},
"compute.googleapis.com/GlobalForwardingRule": {"google_compute_global_forwarding_rule", "project"},
"compute.googleapis.com/HealthCheck": {"google_compute_health_check", "project"},
"compute.googleapis.com/HttpHealthCheck": {"google_compute_http_health_check", "project"},
"compute.googleapis.com/Image": {"google_compute_image", "project"},
"compute.googleapis.com/Instance": {"google_compute_instance", "project/zone"},
"compute.googleapis.com/InstanceGroup": {"google_compute_instance_group", "zone"},
"compute.googleapis.com/InstanceGroupManager": {"google_compute_instance_group_manager", "project/zone"},
"compute.googleapis.com/InstanceTemplate": {"google_compute_instance_template", "project"},
"compute.googleapis.com/Network": {"google_compute_network", "project"},
"compute.googleapis.com/Route": {"google_compute_route", "project"},
"compute.googleapis.com/Snapshot": {"google_compute_snapshot", "project"},
"compute.googleapis.com/SslCertificate": {"google_compute_ssl_certificate", "project"},
"compute.googleapis.com/Subnetwork": {"google_compute_subnetwork", "region"},
"compute.googleapis.com/TargetHttpProxy": {"google_compute_target_http_proxy", "project"},
"compute.googleapis.com/TargetHttpsProxy": {"google_compute_target_https_proxy", "project"},
"compute.googleapis.com/TargetPool": {"google_compute_target_pool", "project"},
"compute.googleapis.com/UrlMap": {"google_compute_url_map", "project"},
"container.googleapis.com/Cluster": {"google_container_cluster", "location"},
"storage.googleapis.com/Bucket": {"google_storage_bucket", "project"},
"dns.googleapis.com/ManagedZone": {"google_dns_managed_zone", "project"},
"dns.googleapis.com/Policy": {"google_dns_policy", "project"},
"iam.googleapis.com/ServiceAccount": {"google_service_account", "project"},
"pubsub.googleapis.com/Topic": {"google_pubsub_topic", "project"},
"pubsub.googleapis.com/Subscription": {"google_pubsub_subscription", "project"},
"sqladmin.googleapis.com/Instance": {"google_sql_database_instance", "project"},
}
ResouceNameMap CloudAssetAPI AssetType -- Terraform Resource
Functions ¶
func CreateCloudAsset ¶
CreateCloudAsset create CloudAssetMetadata
func CreateFileForImport ¶
func CreateFileForImport(meta_structs []Metadata, subCommand, defaultRegion, backendType, backendLocation, provider string) error
CreateFileForImport creates files for terraform import command
func InsertIntoBuffer ¶
func InsertIntoBuffer(meta_struct *Metadata, buf *bytes.Buffer, resourceNameMap map[string]ResourceMetadata, funcMap template.FuncMap, subCommand string) error
InsertIntoBuffer meta_struct -> buffer
func IsDefaultFirewall ¶
func IsDefaultNetwork ¶
func IsDefaultRoute ¶
func IsDefaultSubnetwork ¶
func IsServiceAccountDefault ¶
func ReadFileFromGCS ¶
cmd := exec.Command("gsutil", "cat", gsUrl) cmd.Stdout = &stdout cmd.Stderr = &stderr err := cmd.Run() if err != nil { return nil, xerrors.Errorf("Error: %v \n%s", err, stderr.String()) } return []byte(strings.TrimRight(stdout.String(), "\n")), nil }
func ReadMetaFile ¶
ReadMetaFile reads CloudAssetAPI file and return Metadata[]string
Types ¶
type Metadata ¶
type Metadata struct { Name string `json:"name"` AssetType string `json:"asset_type"` Resource struct { Version string `json:"version"` DiscoveryDocumentURI string `json:"discovery_document_uri"` DiscoveryName string `json:"discovery_name"` Parent string `json:"parent"` Data struct { ID string `json:"id"` Name string `json:"name"` ProjectId string `json:"projectid"` Region string `json:"region"` Zone string `json:"zone"` Email string `json:"email"` Location string `json:"location"` } `json:"data"` } `json:"resource"` ResourceMetadata `json:"resource_metadata"` DefaultRegion string `json:"default_region"` BackendType string `json:"backend_type "` BackendLocation string `json:"backend_location"` Provider string `json:"provider"` }
Metadata is CloudAssetAPIMetadata Struct
func MetaByteToStruct ¶
MetaStringToStruct convert String to Struct
func MetaStringToStruct ¶
MetaStringToStruct convert String to Struct
func RemoveDefaultResources ¶
func RemoveDefaultResources(meta_structs []Metadata, defaultNetwork, defaultSubnetwork, defaultRoute, defaultFirewall string) []Metadata
RemoveDefaultResources default resources.
func TrimMetaStruct ¶
type ResourceMetadata ¶
ResourceMetadata includes Resource Type
Click to show internal directories.
Click to hide internal directories.