Skip to content
This repository has been archived by the owner on Oct 17, 2024. It is now read-only.

Commit

Permalink
fix(schema): CloudFormation Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulMaddox committed Jan 21, 2022
1 parent f9c153c commit c9a3ed4
Show file tree
Hide file tree
Showing 39 changed files with 6,182 additions and 1,128 deletions.
75 changes: 75 additions & 0 deletions cloudformation/all.go
Original file line number Diff line number Diff line change
Expand Up @@ -754,8 +754,11 @@ func AllResources() map[string]Resource {
"AWS::LicenseManager::License": &licensemanager.License{},
"AWS::Lightsail::Alarm": &lightsail.Alarm{},
"AWS::Lightsail::Bucket": &lightsail.Bucket{},
"AWS::Lightsail::Certificate": &lightsail.Certificate{},
"AWS::Lightsail::Container": &lightsail.Container{},
"AWS::Lightsail::Database": &lightsail.Database{},
"AWS::Lightsail::Disk": &lightsail.Disk{},
"AWS::Lightsail::Distribution": &lightsail.Distribution{},
"AWS::Lightsail::Instance": &lightsail.Instance{},
"AWS::Lightsail::LoadBalancer": &lightsail.LoadBalancer{},
"AWS::Lightsail::LoadBalancerTlsCertificate": &lightsail.LoadBalancerTlsCertificate{},
Expand Down Expand Up @@ -14522,6 +14525,54 @@ func (t *Template) GetLightsailBucketWithName(name string) (*lightsail.Bucket, e
return nil, fmt.Errorf("resource %q of type lightsail.Bucket not found", name)
}

// GetAllLightsailCertificateResources retrieves all lightsail.Certificate items from an AWS CloudFormation template
func (t *Template) GetAllLightsailCertificateResources() map[string]*lightsail.Certificate {
results := map[string]*lightsail.Certificate{}
for name, untyped := range t.Resources {
switch resource := untyped.(type) {
case *lightsail.Certificate:
results[name] = resource
}
}
return results
}

// GetLightsailCertificateWithName retrieves all lightsail.Certificate items from an AWS CloudFormation template
// whose logical ID matches the provided name. Returns an error if not found.
func (t *Template) GetLightsailCertificateWithName(name string) (*lightsail.Certificate, error) {
if untyped, ok := t.Resources[name]; ok {
switch resource := untyped.(type) {
case *lightsail.Certificate:
return resource, nil
}
}
return nil, fmt.Errorf("resource %q of type lightsail.Certificate not found", name)
}

// GetAllLightsailContainerResources retrieves all lightsail.Container items from an AWS CloudFormation template
func (t *Template) GetAllLightsailContainerResources() map[string]*lightsail.Container {
results := map[string]*lightsail.Container{}
for name, untyped := range t.Resources {
switch resource := untyped.(type) {
case *lightsail.Container:
results[name] = resource
}
}
return results
}

// GetLightsailContainerWithName retrieves all lightsail.Container items from an AWS CloudFormation template
// whose logical ID matches the provided name. Returns an error if not found.
func (t *Template) GetLightsailContainerWithName(name string) (*lightsail.Container, error) {
if untyped, ok := t.Resources[name]; ok {
switch resource := untyped.(type) {
case *lightsail.Container:
return resource, nil
}
}
return nil, fmt.Errorf("resource %q of type lightsail.Container not found", name)
}

// GetAllLightsailDatabaseResources retrieves all lightsail.Database items from an AWS CloudFormation template
func (t *Template) GetAllLightsailDatabaseResources() map[string]*lightsail.Database {
results := map[string]*lightsail.Database{}
Expand Down Expand Up @@ -14570,6 +14621,30 @@ func (t *Template) GetLightsailDiskWithName(name string) (*lightsail.Disk, error
return nil, fmt.Errorf("resource %q of type lightsail.Disk not found", name)
}

// GetAllLightsailDistributionResources retrieves all lightsail.Distribution items from an AWS CloudFormation template
func (t *Template) GetAllLightsailDistributionResources() map[string]*lightsail.Distribution {
results := map[string]*lightsail.Distribution{}
for name, untyped := range t.Resources {
switch resource := untyped.(type) {
case *lightsail.Distribution:
results[name] = resource
}
}
return results
}

// GetLightsailDistributionWithName retrieves all lightsail.Distribution items from an AWS CloudFormation template
// whose logical ID matches the provided name. Returns an error if not found.
func (t *Template) GetLightsailDistributionWithName(name string) (*lightsail.Distribution, error) {
if untyped, ok := t.Resources[name]; ok {
switch resource := untyped.(type) {
case *lightsail.Distribution:
return resource, nil
}
}
return nil, fmt.Errorf("resource %q of type lightsail.Distribution not found", name)
}

// GetAllLightsailInstanceResources retrieves all lightsail.Instance items from an AWS CloudFormation template
func (t *Template) GetAllLightsailInstanceResources() map[string]*lightsail.Instance {
results := map[string]*lightsail.Instance{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@ type Application_ConfigurationDetails struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-alarms
Alarms []Application_Alarm `json:"Alarms,omitempty"`

// HAClusterPrometheusExporter AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-haclusterprometheusexporter
HAClusterPrometheusExporter *Application_HAClusterPrometheusExporter `json:"HAClusterPrometheusExporter,omitempty"`

// HANAPrometheusExporter AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-hanaprometheusexporter
HANAPrometheusExporter *Application_HANAPrometheusExporter `json:"HANAPrometheusExporter,omitempty"`

// JMXPrometheusExporter AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html#cfn-applicationinsights-application-configurationdetails-jmxprometheusexporter
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package applicationinsights

import (
"github.com/awslabs/goformation/v5/cloudformation/policies"
)

// Application_HAClusterPrometheusExporter AWS CloudFormation Resource (AWS::ApplicationInsights::Application.HAClusterPrometheusExporter)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-haclusterprometheusexporter.html
type Application_HAClusterPrometheusExporter struct {

// PrometheusPort AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-haclusterprometheusexporter.html#cfn-applicationinsights-application-haclusterprometheusexporter-prometheusport
PrometheusPort string `json:"PrometheusPort,omitempty"`

// AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy
AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"`

// AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy
AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"`

// AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource
AWSCloudFormationDependsOn []string `json:"-"`

// AWSCloudFormationMetadata stores structured data associated with this resource
AWSCloudFormationMetadata map[string]interface{} `json:"-"`

// AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created
AWSCloudFormationCondition string `json:"-"`
}

// AWSCloudFormationType returns the AWS CloudFormation resource type
func (r *Application_HAClusterPrometheusExporter) AWSCloudFormationType() string {
return "AWS::ApplicationInsights::Application.HAClusterPrometheusExporter"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package applicationinsights

import (
"github.com/awslabs/goformation/v5/cloudformation/policies"
)

// Application_HANAPrometheusExporter AWS CloudFormation Resource (AWS::ApplicationInsights::Application.HANAPrometheusExporter)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html
type Application_HANAPrometheusExporter struct {

// AgreeToInstallHANADBClient AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-agreetoinstallhanadbclient
AgreeToInstallHANADBClient bool `json:"AgreeToInstallHANADBClient,omitempty"`

// HANAPort AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-hanaport
HANAPort string `json:"HANAPort,omitempty"`

// HANASID AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-hanasid
HANASID string `json:"HANASID,omitempty"`

// HANASecretName AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-hanasecretname
HANASecretName string `json:"HANASecretName,omitempty"`

// PrometheusPort AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-hanaprometheusexporter.html#cfn-applicationinsights-application-hanaprometheusexporter-prometheusport
PrometheusPort string `json:"PrometheusPort,omitempty"`

// AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy
AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"`

// AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy
AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"`

// AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource
AWSCloudFormationDependsOn []string `json:"-"`

// AWSCloudFormationMetadata stores structured data associated with this resource
AWSCloudFormationMetadata map[string]interface{} `json:"-"`

// AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created
AWSCloudFormationCondition string `json:"-"`
}

// AWSCloudFormationType returns the AWS CloudFormation resource type
func (r *Application_HANAPrometheusExporter) AWSCloudFormationType() string {
return "AWS::ApplicationInsights::Application.HANAPrometheusExporter"
}
5 changes: 5 additions & 0 deletions cloudformation/databrew/aws-databrew-job_outputlocation.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ type Job_OutputLocation struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html#cfn-databrew-job-outputlocation-bucket
Bucket string `json:"Bucket,omitempty"`

// BucketOwner AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html#cfn-databrew-job-outputlocation-bucketowner
BucketOwner string `json:"BucketOwner,omitempty"`

// Key AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html#cfn-databrew-job-outputlocation-key
Expand Down
5 changes: 5 additions & 0 deletions cloudformation/databrew/aws-databrew-job_s3location.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ type Job_S3Location struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-bucket
Bucket string `json:"Bucket,omitempty"`

// BucketOwner AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-bucketowner
BucketOwner string `json:"BucketOwner,omitempty"`

// Key AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html#cfn-databrew-job-s3location-key
Expand Down
5 changes: 5 additions & 0 deletions cloudformation/dms/aws-dms-endpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ type Endpoint struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes
ExtraConnectionAttributes string `json:"ExtraConnectionAttributes,omitempty"`

// GcpMySQLSettings AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-gcpmysqlsettings
GcpMySQLSettings *Endpoint_GcpMySQLSettings `json:"GcpMySQLSettings,omitempty"`

// IbmDb2Settings AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-ibmdb2settings
Expand Down
95 changes: 95 additions & 0 deletions cloudformation/dms/aws-dms-endpoint_gcpmysqlsettings.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package dms

import (
"github.com/awslabs/goformation/v5/cloudformation/policies"
)

// Endpoint_GcpMySQLSettings AWS CloudFormation Resource (AWS::DMS::Endpoint.GcpMySQLSettings)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html
type Endpoint_GcpMySQLSettings struct {

// AfterConnectScript AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-afterconnectscript
AfterConnectScript string `json:"AfterConnectScript,omitempty"`

// CleanSourceMetadataOnMismatch AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-cleansourcemetadataonmismatch
CleanSourceMetadataOnMismatch bool `json:"CleanSourceMetadataOnMismatch,omitempty"`

// DatabaseName AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-databasename
DatabaseName string `json:"DatabaseName,omitempty"`

// EventsPollInterval AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-eventspollinterval
EventsPollInterval int `json:"EventsPollInterval,omitempty"`

// MaxFileSize AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-maxfilesize
MaxFileSize int `json:"MaxFileSize,omitempty"`

// ParallelLoadThreads AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-parallelloadthreads
ParallelLoadThreads int `json:"ParallelLoadThreads,omitempty"`

// Password AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-password
Password string `json:"Password,omitempty"`

// Port AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-port
Port int `json:"Port,omitempty"`

// SecretsManagerAccessRoleArn AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-secretsmanageraccessrolearn
SecretsManagerAccessRoleArn string `json:"SecretsManagerAccessRoleArn,omitempty"`

// SecretsManagerSecretId AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-secretsmanagersecretid
SecretsManagerSecretId string `json:"SecretsManagerSecretId,omitempty"`

// ServerName AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-servername
ServerName string `json:"ServerName,omitempty"`

// ServerTimezone AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-servertimezone
ServerTimezone string `json:"ServerTimezone,omitempty"`

// Username AWS CloudFormation Property
// Required: false
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-gcpmysqlsettings.html#cfn-dms-endpoint-gcpmysqlsettings-username
Username string `json:"Username,omitempty"`

// AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy
AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"`

// AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy
AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"`

// AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource
AWSCloudFormationDependsOn []string `json:"-"`

// AWSCloudFormationMetadata stores structured data associated with this resource
AWSCloudFormationMetadata map[string]interface{} `json:"-"`

// AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created
AWSCloudFormationCondition string `json:"-"`
}

// AWSCloudFormationType returns the AWS CloudFormation resource type
func (r *Endpoint_GcpMySQLSettings) AWSCloudFormationType() string {
return "AWS::DMS::Endpoint.GcpMySQLSettings"
}
Loading

0 comments on commit c9a3ed4

Please sign in to comment.