go-cloudformation: github.com/crewjam/go-cloudformation Index | Files | Directories

package cloudformation

import "github.com/crewjam/go-cloudformation"

Package cloudformation provides a schema and related functions that allow you to reason about cloudformation template documents.

Parsing example:

t := Template{}
json.NewDecoder(os.Stdin).Decode(&t)

Producing Example:

t := NewTemplate()
t.Parameters["DnsName"] = &Parameter{
	Type: "string",
	Default: "example.com",
	Description: "the top level DNS name for the service"
}
t.AddResource("DataBucket", &S3Bucket{
	BucketName: Join("-", *String("data"), *Ref("DnsName").String())
})
json.NewEncoder(os.Stdout).Encoder(t)

See the examples directory for a more complete example of producing a cloudformation template from code.

Producing the Schema

As far as I can tell, AWS do not produce a structured document that describes the Cloudformation schema. The names and types for the various resources and objects are derived from scraping their HTML documentation (see scraper/). It is mostly, but not entirely, complete. I've noticed several inconsistencies in the documentation which suggests that it is constructed by hand. If you run into problems, please submit a bug (or better yet, a pull request).

Object Types

Top level objects in Cloudformation are called resources. They have names like AWS::S3::Bucket and appear as values in the "Resources" mapping. We remove the punctuation from the name to derive a golang structure name like S3Bucket.

There other non-resource structures that are refered to either by resources or by other structures. These objects have names with spaces like "Amazon S3 Versioning Configuration". To derive a golang type name the non-letter characters are removed to get S3VersioningConfiguration.

Type System

Cloudformation uses three scalar types: string, int and bool. When they appear as properties we represent them as *StringExpr, *IntegerExpr, and *BoolExpr respectively. These types reflect that fact that a scalar type could be a literal string, int or bool, or could be a JSON dictionary representing a function call. (The *Expr structs have custom MarshalJSON and UnmarshalJSON that account for this)

Another vagary of the cloudformation language is that in cases where a list of objects is expects, a single object can provided. To account for this, whenever a list of objects appears, a custom type *WhateverList is used. This allows us to add a custom UnmarshalJSON which transforms an object into a list containing an object.

Index

Package Files

bool.go cloudformation.go creation_policy.go func.go func_base64.go func_findinmap.go func_getatt.go func_getazs.go func_if.go func_importvalue.go func_join.go func_ref.go func_select.go iam_policy.go integer.go schema.go schema_gen.go string.go string_list.go template.go update_policy.go

func RegisterCustomResourceProvider Uses

func RegisterCustomResourceProvider(provider CustomResourceProvider)

Register a CustomResourceProvider with go-cloudformation. Multiple providers may be registered. The first provider that returns a non-nil interface will be used and there is no check for a uniquely registered resource type.

type APIGatewayApiKeyStageKey Uses

type APIGatewayApiKeyStageKey struct {
    // The ID of a RestApi resource that includes the stage with which you
    // want to associate the API key.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`

    // The name of the stage with which to associate the API key. The stage
    // must be included in the RestApi resource that you specified in the
    // RestApiId property.
    StageName *StringExpr `json:"StageName,omitempty"`
}

APIGatewayApiKeyStageKey represents Amazon API Gateway ApiKey StageKey

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-apikey-stagekey.html

type APIGatewayApiKeyStageKeyList Uses

type APIGatewayApiKeyStageKeyList []APIGatewayApiKeyStageKey

APIGatewayApiKeyStageKeyList represents a list of APIGatewayApiKeyStageKey

func (*APIGatewayApiKeyStageKeyList) UnmarshalJSON Uses

func (l *APIGatewayApiKeyStageKeyList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayDeploymentStageDescription Uses

type APIGatewayDeploymentStageDescription struct {
    // Indicates whether cache clustering is enabled for the stage.
    CacheClusterEnabled *BoolExpr `json:"CacheClusterEnabled,omitempty"`

    // The size of the stage's cache cluster.
    CacheClusterSize *StringExpr `json:"CacheClusterSize,omitempty"`

    // Indicates whether the cached responses are encrypted.
    CacheDataEncrypted *BoolExpr `json:"CacheDataEncrypted,omitempty"`

    // The time-to-live (TTL) period, in seconds, that specifies how long API
    // Gateway caches responses.
    CacheTtlInSeconds *IntegerExpr `json:"CacheTtlInSeconds,omitempty"`

    // Indicates whether responses are cached and returned for requests. You
    // must enable a cache cluster on the stage to cache responses. For more
    // information, see Enable API Gateway Caching in a Stage to Enhance API
    // Performance in the API Gateway Developer Guide.
    CachingEnabled *BoolExpr `json:"CachingEnabled,omitempty"`

    // The identifier of the client certificate that API Gateway uses to call
    // your integration endpoints in the stage.
    ClientCertificateId *StringExpr `json:"ClientCertificateId,omitempty"`

    // Indicates whether data trace logging is enabled for methods in the
    // stage. API Gateway pushes these logs to Amazon CloudWatch Logs.
    DataTraceEnabled *BoolExpr `json:"DataTraceEnabled,omitempty"`

    // A description of the purpose of the stage.
    Description *StringExpr `json:"Description,omitempty"`

    // The logging level for this method. For valid values, see the
    // loggingLevel property of the Stage resource in the Amazon API Gateway
    // API Reference.
    LoggingLevel *StringExpr `json:"LoggingLevel,omitempty"`

    // Configures settings for all of the stage's methods.
    MethodSettings *APIGatewayDeploymentStageDescriptionMethodSettingList `json:"MethodSettings,omitempty"`

    // Indicates whether Amazon CloudWatch metrics are enabled for methods in
    // the stage.
    MetricsEnabled *BoolExpr `json:"MetricsEnabled,omitempty"`

    // The name of the stage, which API Gateway uses as the first path
    // segment in the invoke Uniform Resource Identifier (URI).
    StageName *StringExpr `json:"StageName,omitempty"`

    // The number of burst requests per second that API Gateway permits
    // across all APIs, stages, and methods in your AWS account. For more
    // information, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    ThrottlingBurstLimit *IntegerExpr `json:"ThrottlingBurstLimit,omitempty"`

    // The number of steady-state requests per second that API Gateway
    // permits across all APIs, stages, and methods in your AWS account. For
    // more information, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    ThrottlingRateLimit *IntegerExpr `json:"ThrottlingRateLimit,omitempty"`

    // A map that defines the stage variables. Variable names must consist of
    // alphanumeric characters, and the values must match the following
    // regular expression: [A-Za-z0-9-._~:/?#&=,]+.
    Variables interface{} `json:"Variables,omitempty"`
}

APIGatewayDeploymentStageDescription represents Amazon API Gateway Deployment StageDescription

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html

type APIGatewayDeploymentStageDescriptionList Uses

type APIGatewayDeploymentStageDescriptionList []APIGatewayDeploymentStageDescription

APIGatewayDeploymentStageDescriptionList represents a list of APIGatewayDeploymentStageDescription

func (*APIGatewayDeploymentStageDescriptionList) UnmarshalJSON Uses

func (l *APIGatewayDeploymentStageDescriptionList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayDeploymentStageDescriptionMethodSetting Uses

type APIGatewayDeploymentStageDescriptionMethodSetting struct {
    // Indicates whether the cached responses are encrypted.
    CacheDataEncrypted *BoolExpr `json:"CacheDataEncrypted,omitempty"`

    // The time-to-live (TTL) period, in seconds, that specifies how long API
    // Gateway caches responses.
    CacheTtlInSeconds *IntegerExpr `json:"CacheTtlInSeconds,omitempty"`

    // Indicates whether responses are cached and returned for requests. You
    // must enable a cache cluster on the stage to cache responses. For more
    // information, see Enable API Gateway Caching in a Stage to Enhance API
    // Performance in the API Gateway Developer Guide.
    CachingEnabled *BoolExpr `json:"CachingEnabled,omitempty"`

    // Indicates whether data trace logging is enabled for methods in the
    // stage. API Gateway pushes these logs to Amazon CloudWatch Logs.
    DataTraceEnabled *BoolExpr `json:"DataTraceEnabled,omitempty"`

    // The HTTP method.
    HttpMethod *StringExpr `json:"HttpMethod,omitempty"`

    // The logging level for this method. For valid values, see the
    // loggingLevel property of the Stage resource in the Amazon API Gateway
    // API Reference.
    LoggingLevel *StringExpr `json:"LoggingLevel,omitempty"`

    // Indicates whether Amazon CloudWatch metrics are enabled for methods in
    // the stage.
    MetricsEnabled *BoolExpr `json:"MetricsEnabled,omitempty"`

    // The resource path for this method. Forward slashes (/) are encoded as
    // ~1 and the initial slash must include a forward slash. For example,
    // the path value /resource/subresource must be encoded as
    // /~1resource~1subresource. To specify the root path, use only a slash
    // (/).
    ResourcePath *StringExpr `json:"ResourcePath,omitempty"`

    // The number of burst requests per second that API Gateway permits
    // across all APIs, stages, and methods in your AWS account. For more
    // information, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    ThrottlingBurstLimit *IntegerExpr `json:"ThrottlingBurstLimit,omitempty"`

    // The number of steady-state requests per second that API Gateway
    // permits across all APIs, stages, and methods in your AWS account. For
    // more information, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    ThrottlingRateLimit *IntegerExpr `json:"ThrottlingRateLimit,omitempty"`
}

APIGatewayDeploymentStageDescriptionMethodSetting represents Amazon API Gateway Deployment StageDescription MethodSetting

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html

type APIGatewayDeploymentStageDescriptionMethodSettingList Uses

type APIGatewayDeploymentStageDescriptionMethodSettingList []APIGatewayDeploymentStageDescriptionMethodSetting

APIGatewayDeploymentStageDescriptionMethodSettingList represents a list of APIGatewayDeploymentStageDescriptionMethodSetting

func (*APIGatewayDeploymentStageDescriptionMethodSettingList) UnmarshalJSON Uses

func (l *APIGatewayDeploymentStageDescriptionMethodSettingList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayMethodIntegration Uses

type APIGatewayMethodIntegration struct {
    // A list of request parameters whose values API Gateway will cache.
    CacheKeyParameters *StringListExpr `json:"CacheKeyParameters,omitempty"`

    // An API-specific tag group of related cached parameters.
    CacheNamespace *StringExpr `json:"CacheNamespace,omitempty"`

    // The credentials required for the integration. To specify an AWS
    // Identity and Access Management (IAM) role that API Gateway assumes,
    // specify the role's Amazon Resource Name (ARN). To require that the
    // caller's identity be passed through from the request, specify
    // arn:aws:iam::*:user/*.
    Credentials *StringExpr `json:"Credentials,omitempty"`

    // The integration's HTTP method type.
    IntegrationHttpMethod *StringExpr `json:"IntegrationHttpMethod,omitempty"`

    // The response that API Gateway provides after a method's back end
    // completes processing a request. API Gateway intercepts the back end's
    // response so that you can control how API Gateway surfaces back-end
    // responses. For example, you can map the back-end status codes to codes
    // that you define.
    IntegrationResponses *APIGatewayMethodIntegrationIntegrationResponseList `json:"IntegrationResponses,omitempty"`

    // Indicates when API Gateway passes requests to the targeted back end.
    // This behavior depends on the request's Content-Type header and whether
    // you defined a mapping template for it.
    PassthroughBehavior *StringExpr `json:"PassthroughBehavior,omitempty"`

    // The request parameters that API Gateway sends with the back-end
    // request. Specify request parameters as key-value pairs
    // (string-to-string maps), with a destination as the key and a source as
    // the value.
    RequestParameters interface{} `json:"RequestParameters,omitempty"`

    // A map of Apache Velocity templates that are applied on the request
    // payload. The template that API Gateway uses is based on the value of
    // the Content-Type header sent by the client. The content type value is
    // the key, and the template is the value (specified as a string), such
    // as the following snippet:
    RequestTemplates interface{} `json:"RequestTemplates,omitempty"`

    // The type of back end your method is running, such as HTTP or MOCK. For
    // all of the valid values, see the type property for the Integration
    // resource in the Amazon API Gateway REST API Reference.
    Type *StringExpr `json:"Type,omitempty"`

    // The integration's Uniform Resource Identifier (URI).
    Uri *StringExpr `json:"Uri,omitempty"`
}

APIGatewayMethodIntegration represents Amazon API Gateway Method Integration

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html

type APIGatewayMethodIntegrationIntegrationResponse Uses

type APIGatewayMethodIntegrationIntegrationResponse struct {
    // The response parameters from the back-end response that API Gateway
    // sends to the method response. Specify response parameters as key-value
    // pairs (string-to-string mappings).
    ResponseParameters interface{} `json:"ResponseParameters,omitempty"`

    // The templates used to transform the integration response body. Specify
    // templates as key-value pairs (string-to-string maps), with a content
    // type as the key and a template as the value. For more information, see
    // API Gateway API Request and Response Payload-Mapping Template
    // Reference in the API Gateway Developer Guide.
    ResponseTemplates interface{} `json:"ResponseTemplates,omitempty"`

    // A regular expression that specifies which error strings or status
    // codes from the back end map to the integration response.
    SelectionPattern *StringExpr `json:"SelectionPattern,omitempty"`

    // The status code that API Gateway uses to map the integration response
    // to a MethodResponse status code.
    StatusCode *StringExpr `json:"StatusCode,omitempty"`
}

APIGatewayMethodIntegrationIntegrationResponse represents Amazon API Gateway Method Integration IntegrationResponse

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html

type APIGatewayMethodIntegrationIntegrationResponseList Uses

type APIGatewayMethodIntegrationIntegrationResponseList []APIGatewayMethodIntegrationIntegrationResponse

APIGatewayMethodIntegrationIntegrationResponseList represents a list of APIGatewayMethodIntegrationIntegrationResponse

func (*APIGatewayMethodIntegrationIntegrationResponseList) UnmarshalJSON Uses

func (l *APIGatewayMethodIntegrationIntegrationResponseList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayMethodIntegrationList Uses

type APIGatewayMethodIntegrationList []APIGatewayMethodIntegration

APIGatewayMethodIntegrationList represents a list of APIGatewayMethodIntegration

func (*APIGatewayMethodIntegrationList) UnmarshalJSON Uses

func (l *APIGatewayMethodIntegrationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayMethodMethodResponse Uses

type APIGatewayMethodMethodResponse struct {
    // The resources used for the response's content type. Specify response
    // models as key-value pairs (string-to-string maps), with a content type
    // as the key and a Model resource name as the value.
    ResponseModels interface{} `json:"ResponseModels,omitempty"`

    // Response parameters that API Gateway sends to the client that called a
    // method. Specify response parameters as key-value pairs
    // (string-to-Boolean maps), with a destination as the key and a Boolean
    // as the value. Specify the destination using the following pattern:
    // method.response.header.name, where the name is a valid, unique header
    // name. The Boolean specifies whether a parameter is required.
    ResponseParameters interface{} `json:"ResponseParameters,omitempty"`

    // The method response's status code, which you map to an
    // IntegrationResponse.
    StatusCode *StringExpr `json:"StatusCode,omitempty"`
}

APIGatewayMethodMethodResponse represents Amazon API Gateway Method MethodResponse

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html

type APIGatewayMethodMethodResponseList Uses

type APIGatewayMethodMethodResponseList []APIGatewayMethodMethodResponse

APIGatewayMethodMethodResponseList represents a list of APIGatewayMethodMethodResponse

func (*APIGatewayMethodMethodResponseList) UnmarshalJSON Uses

func (l *APIGatewayMethodMethodResponseList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayRestApiS3Location Uses

type APIGatewayRestApiS3Location struct {
    // The name of the S3 bucket where the OpenAPI file is stored.
    Bucket *StringExpr `json:"Bucket,omitempty"`

    // The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't
    // specify a value, API Gateway skips ETag validation of your OpenAPI
    // file.
    ETag *StringExpr `json:"ETag,omitempty"`

    // The file name of the OpenAPI file (Amazon S3 object name).
    Key *StringExpr `json:"Key,omitempty"`

    // For versioning-enabled buckets, a specific version of the OpenAPI
    // file.
    Version *StringExpr `json:"Version,omitempty"`
}

APIGatewayRestApiS3Location represents Amazon API Gateway RestApi S3Location

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html

type APIGatewayRestApiS3LocationList Uses

type APIGatewayRestApiS3LocationList []APIGatewayRestApiS3Location

APIGatewayRestApiS3LocationList represents a list of APIGatewayRestApiS3Location

func (*APIGatewayRestApiS3LocationList) UnmarshalJSON Uses

func (l *APIGatewayRestApiS3LocationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayStageMethodSetting Uses

type APIGatewayStageMethodSetting struct {
    // Indicates whether the cached responses are encrypted.
    CacheDataEncrypted *BoolExpr `json:"CacheDataEncrypted,omitempty"`

    // The time-to-live (TTL) period, in seconds, that specifies how long API
    // Gateway caches responses.
    CacheTtlInSeconds *IntegerExpr `json:"CacheTtlInSeconds,omitempty"`

    // Indicates whether responses are cached and returned for requests. You
    // must enable a cache cluster on the stage to cache responses.
    CachingEnabled *BoolExpr `json:"CachingEnabled,omitempty"`

    // Indicates whether data trace logging is enabled for methods in the
    // stage. API Gateway pushes these logs to Amazon CloudWatch Logs.
    DataTraceEnabled *BoolExpr `json:"DataTraceEnabled,omitempty"`

    // The HTTP method.
    HttpMethod *StringExpr `json:"HttpMethod,omitempty"`

    // The logging level for this method. For valid values, see the
    // loggingLevel property of the Stage resource in the Amazon API Gateway
    // API Reference.
    LoggingLevel *StringExpr `json:"LoggingLevel,omitempty"`

    // Indicates whether Amazon CloudWatch metrics are enabled for methods in
    // the stage.
    MetricsEnabled *BoolExpr `json:"MetricsEnabled,omitempty"`

    // The resource path for this method. Forward slashes (/) are encoded as
    // ~1 and the initial slash must include a forward slash. For example,
    // the path value /resource/subresource must be encoded as
    // /~1resource~1subresource. To specify the root path, use only a slash
    // (/).
    ResourcePath *StringExpr `json:"ResourcePath,omitempty"`

    // The number of burst requests per second that API Gateway permits
    // across all APIs, stages, and methods in your AWS account. For more
    // information, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    ThrottlingBurstLimit *IntegerExpr `json:"ThrottlingBurstLimit,omitempty"`

    // The number of steady-state requests per second that API Gateway
    // permits across all APIs, stages, and methods in your AWS account. For
    // more information, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    ThrottlingRateLimit *IntegerExpr `json:"ThrottlingRateLimit,omitempty"`
}

APIGatewayStageMethodSetting represents Amazon API Gateway Stage MethodSetting

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html

type APIGatewayStageMethodSettingList Uses

type APIGatewayStageMethodSettingList []APIGatewayStageMethodSetting

APIGatewayStageMethodSettingList represents a list of APIGatewayStageMethodSetting

func (*APIGatewayStageMethodSettingList) UnmarshalJSON Uses

func (l *APIGatewayStageMethodSettingList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayUsagePlanApiStage Uses

type APIGatewayUsagePlanApiStage struct {
    // The ID of an API that is in the specified Stage property that you want
    // to associate with the usage plan.
    ApiId *StringExpr `json:"ApiId,omitempty"`

    // The name of an API Gateway stage to associate with the usage plan.
    Stage *StringExpr `json:"Stage,omitempty"`
}

APIGatewayUsagePlanApiStage represents Amazon API Gateway UsagePlan ApiStage

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html

type APIGatewayUsagePlanApiStageList Uses

type APIGatewayUsagePlanApiStageList []APIGatewayUsagePlanApiStage

APIGatewayUsagePlanApiStageList represents a list of APIGatewayUsagePlanApiStage

func (*APIGatewayUsagePlanApiStageList) UnmarshalJSON Uses

func (l *APIGatewayUsagePlanApiStageList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayUsagePlanQuotaSettings Uses

type APIGatewayUsagePlanQuotaSettings struct {
    // The maximum number of requests that users can make within the
    // specified time period.
    Limit *IntegerExpr `json:"Limit,omitempty"`

    // For the initial time period, the number of requests to subtract from
    // the specified limit. When you first implement a usage plan, the plan
    // might start in the middle of the week or month. With this property,
    // you can decrease the limit for this initial time period.
    Offset *IntegerExpr `json:"Offset,omitempty"`

    // The time period for which the maximum limit of requests applies, such
    // as DAY or WEEK. For valid values, see the period property for the
    // UsagePlan resource in the Amazon API Gateway REST API Reference.
    Period *StringExpr `json:"Period,omitempty"`
}

APIGatewayUsagePlanQuotaSettings represents Amazon API Gateway UsagePlan QuotaSettings

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html

type APIGatewayUsagePlanQuotaSettingsList Uses

type APIGatewayUsagePlanQuotaSettingsList []APIGatewayUsagePlanQuotaSettings

APIGatewayUsagePlanQuotaSettingsList represents a list of APIGatewayUsagePlanQuotaSettings

func (*APIGatewayUsagePlanQuotaSettingsList) UnmarshalJSON Uses

func (l *APIGatewayUsagePlanQuotaSettingsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type APIGatewayUsagePlanThrottleSettings Uses

type APIGatewayUsagePlanThrottleSettings struct {
    // The maximum API request rate limit over a time ranging from one to a
    // few seconds. The maximum API request rate limit depends on whether the
    // underlying token bucket is at its full capacity. For more information
    // about request throttling, see Manage API Request Throttling in the API
    // Gateway Developer Guide.
    BurstLimit *IntegerExpr `json:"BurstLimit,omitempty"`

    // The API request steady-state rate limit (average requests per second
    // over an extended period of time). For more information about request
    // throttling, see Manage API Request Throttling in the API Gateway
    // Developer Guide.
    RateLimit *IntegerExpr `json:"RateLimit,omitempty"`
}

APIGatewayUsagePlanThrottleSettings represents Amazon API Gateway UsagePlan ThrottleSettings

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html

type APIGatewayUsagePlanThrottleSettingsList Uses

type APIGatewayUsagePlanThrottleSettingsList []APIGatewayUsagePlanThrottleSettings

APIGatewayUsagePlanThrottleSettingsList represents a list of APIGatewayUsagePlanThrottleSettings

func (*APIGatewayUsagePlanThrottleSettingsList) UnmarshalJSON Uses

func (l *APIGatewayUsagePlanThrottleSettingsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ApiGatewayAccount Uses

type ApiGatewayAccount struct {
    // The Amazon Resource Name (ARN) of an IAM role that has write access to
    // CloudWatch Logs in your account.
    CloudWatchRoleArn *StringExpr `json:"CloudWatchRoleArn,omitempty"`
}

ApiGatewayAccount represents AWS::ApiGateway::Account

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html

func (ApiGatewayAccount) CfnResourceType Uses

func (s ApiGatewayAccount) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Account to implement the ResourceProperties interface

type ApiGatewayApiKey Uses

type ApiGatewayApiKey struct {
    // A description of the purpose of the API key.
    Description *StringExpr `json:"Description,omitempty"`

    // Indicates whether the API key can be used by clients.
    Enabled *BoolExpr `json:"Enabled,omitempty"`

    // A name for the API key. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID and uses that ID for the
    // API key name. For more information, see Name Type.
    Name *StringExpr `json:"Name,omitempty"`

    // A list of stages to associated with this API key.
    StageKeys *APIGatewayApiKeyStageKeyList `json:"StageKeys,omitempty"`
}

ApiGatewayApiKey represents AWS::ApiGateway::ApiKey

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html

func (ApiGatewayApiKey) CfnResourceType Uses

func (s ApiGatewayApiKey) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::ApiKey to implement the ResourceProperties interface

type ApiGatewayAuthorizer Uses

type ApiGatewayAuthorizer struct {
    // The credentials required for the authorizer. To specify an AWS
    // Identity and Access Management (IAM) role that API Gateway assumes,
    // specify the role's Amazon Resource Name (ARN). To use resource-based
    // permissions on the AWS Lambda (Lambda) function, specify null.
    AuthorizerCredentials *StringExpr `json:"AuthorizerCredentials,omitempty"`

    // The time-to-live (TTL) period, in seconds, that specifies how long API
    // Gateway caches authorizer results. If you specify a value greater than
    // 0, API Gateway caches the authorizer responses. By default, API
    // Gateway sets this property to 300. The maximum value is 3600, or 1
    // hour.
    AuthorizerResultTtlInSeconds *IntegerExpr `json:"AuthorizerResultTtlInSeconds,omitempty"`

    // The authorizer's Uniform Resource Identifier (URI). If you specify
    // TOKEN for the authorizer's Type property, specify a Lambda function
    // URI, which has the form arn:aws:apigateway:region:lambda:path/path.
    // The path usually has the form
    // /2015-03-31/functions/LambdaFunctionARN/invocations.
    AuthorizerUri *StringExpr `json:"AuthorizerUri,omitempty"`

    // The source of the identity in an incoming request. If you specify
    // TOKEN for the authorizer's Type property, specify a mapping
    // expression. The custom header mapping expression has the form
    // method.request.header.name, where name is the name of a custom
    // authorization header that clients submit as part of their requests.
    IdentitySource *StringExpr `json:"IdentitySource,omitempty"`

    // A validation expression for the incoming identity. If you specify
    // TOKEN for the authorizer's Type property, specify a regular
    // expression. API Gateway uses the expression to attempt to match the
    // incoming client token, and proceeds if the token matches. If the token
    // doesn't match, API Gateway responds with a 401 (unauthorized request)
    // error code.
    IdentityValidationExpression *StringExpr `json:"IdentityValidationExpression,omitempty"`

    // The name of the authorizer.
    Name *StringExpr `json:"Name,omitempty"`

    // A list of the Amazon Cognito user pool Amazon Resource Names (ARNs) to
    // associate with this authorizer. For more information, see Use Amazon
    // Cognito Your User Pool in the API Gateway Developer Guide.
    ProviderARNs *StringListExpr `json:"ProviderARNs,omitempty"`

    // The ID of the RestApi resource in which API Gateway creates the
    // authorizer.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`

    // The type of authorizer:
    Type *StringExpr `json:"Type,omitempty"`
}

ApiGatewayAuthorizer represents AWS::ApiGateway::Authorizer

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html

func (ApiGatewayAuthorizer) CfnResourceType Uses

func (s ApiGatewayAuthorizer) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Authorizer to implement the ResourceProperties interface

type ApiGatewayBasePathMapping Uses

type ApiGatewayBasePathMapping struct {
    // The base path name that callers of the API must provide in the URL
    // after the domain name.
    BasePath *StringExpr `json:"BasePath,omitempty"`

    // The name of a DomainName resource.
    DomainName *StringExpr `json:"DomainName,omitempty"`

    // The name of the API.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`

    // The name of the API's stage.
    Stage *StringExpr `json:"Stage,omitempty"`
}

ApiGatewayBasePathMapping represents AWS::ApiGateway::BasePathMapping

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html

func (ApiGatewayBasePathMapping) CfnResourceType Uses

func (s ApiGatewayBasePathMapping) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::BasePathMapping to implement the ResourceProperties interface

type ApiGatewayClientCertificate Uses

type ApiGatewayClientCertificate struct {
    // A description of the client certificate.
    Description *StringExpr `json:"Description,omitempty"`
}

ApiGatewayClientCertificate represents AWS::ApiGateway::ClientCertificate

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html

func (ApiGatewayClientCertificate) CfnResourceType Uses

func (s ApiGatewayClientCertificate) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::ClientCertificate to implement the ResourceProperties interface

type ApiGatewayDeployment Uses

type ApiGatewayDeployment struct {
    // A description of the purpose of the API Gateway deployment.
    Description *StringExpr `json:"Description,omitempty"`

    // The ID of the RestApi resource to deploy.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`

    // Configures the stage that API Gateway creates with this deployment.
    StageDescription *APIGatewayDeploymentStageDescription `json:"StageDescription,omitempty"`

    // A name for the stage that API Gateway creates with this deployment.
    // Use only alphanumeric characters.
    StageName *StringExpr `json:"StageName,omitempty"`
}

ApiGatewayDeployment represents AWS::ApiGateway::Deployment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html

func (ApiGatewayDeployment) CfnResourceType Uses

func (s ApiGatewayDeployment) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Deployment to implement the ResourceProperties interface

type ApiGatewayMethod Uses

type ApiGatewayMethod struct {
    // Indicates whether the method requires clients to submit a valid API
    // key.
    ApiKeyRequired *BoolExpr `json:"ApiKeyRequired,omitempty"`

    // The method's authorization type.
    AuthorizationType *StringExpr `json:"AuthorizationType,omitempty"`

    // The identifier of the authorizer to use on this method. If you specify
    // this property, specify CUSTOM for the AuthorizationType property.
    AuthorizerId *StringExpr `json:"AuthorizerId,omitempty"`

    // The HTTP method that clients will use to call this method.
    HttpMethod *StringExpr `json:"HttpMethod,omitempty"`

    // The back-end system that the method calls when it receives a request.
    Integration *APIGatewayMethodIntegration `json:"Integration,omitempty"`

    // The responses that can be sent to the client who calls the method.
    MethodResponses *APIGatewayMethodMethodResponseList `json:"MethodResponses,omitempty"`

    // The resources used for the response's content type. Specify response
    // models as key-value pairs (string-to-string map), with a content type
    // as the key and a Model resource name as the value.
    RequestModels interface{} `json:"RequestModels,omitempty"`

    // Request parameters that API Gateway accepts. Specify request
    // parameters as key-value pairs (string-to-Boolean map), with a source
    // as the key and a Boolean as the value. The Boolean specifies whether a
    // parameter is required. A source must match the following format
    // method.request.location.name, where the location is querystring, path,
    // or header, and name is a valid, unique parameter name.
    RequestParameters interface{} `json:"RequestParameters,omitempty"`

    // The ID of an API Gateway resource. For root resource methods, specify
    // the RestApi root resource ID, such as { "Fn::GetAtt": ["MyRestApi",
    // "RootResourceId"] }.
    ResourceId *StringExpr `json:"ResourceId,omitempty"`

    // The ID of the RestApi resource in which API Gateway creates the
    // method.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`
}

ApiGatewayMethod represents AWS::ApiGateway::Method

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html

func (ApiGatewayMethod) CfnResourceType Uses

func (s ApiGatewayMethod) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Method to implement the ResourceProperties interface

type ApiGatewayModel Uses

type ApiGatewayModel struct {
    // The content type for the model.
    ContentType *StringExpr `json:"ContentType,omitempty"`

    // A description that identifies this model.
    Description *StringExpr `json:"Description,omitempty"`

    // A name for the mode. If you don't specify a name, AWS CloudFormation
    // generates a unique physical ID and uses that ID for the model name.
    // For more information, see Name Type.
    Name *StringExpr `json:"Name,omitempty"`

    // The ID of a REST API with which to associate this model.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`

    // The schema to use to transform data to one or more output formats.
    // Specify null ({}) if you don't want to specify a schema.
    Schema interface{} `json:"Schema,omitempty"`
}

ApiGatewayModel represents AWS::ApiGateway::Model

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html

func (ApiGatewayModel) CfnResourceType Uses

func (s ApiGatewayModel) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Model to implement the ResourceProperties interface

type ApiGatewayResource Uses

type ApiGatewayResource struct {
    // If you want to create a child resource, the ID of the parent resource.
    // For resources without a parent, specify the RestApi root resource ID,
    // such as { "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }.
    ParentId *StringExpr `json:"ParentId,omitempty"`

    // A path name for the resource.
    PathPart *StringExpr `json:"PathPart,omitempty"`

    // The ID of the RestApi resource in which you want to create this
    // resource.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`
}

ApiGatewayResource represents AWS::ApiGateway::Resource

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html

func (ApiGatewayResource) CfnResourceType Uses

func (s ApiGatewayResource) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Resource to implement the ResourceProperties interface

type ApiGatewayRestApi Uses

type ApiGatewayRestApi struct {
    // An OpenAPI specification that defines a set of RESTful APIs in the
    // JSON format. For YAML templates, you can also specify the
    // specification in the YAML format.
    Body interface{} `json:"Body,omitempty"`

    // The Amazon Simple Storage Service (Amazon S3) location that points to
    // a OpenAPI file, which defines a set of RESTful APIs in JSON or YAML
    // format.
    BodyS3Location *APIGatewayRestApiS3Location `json:"BodyS3Location,omitempty"`

    // The ID of the API Gateway RestApi resource that you want to clone.
    CloneFrom *StringExpr `json:"CloneFrom,omitempty"`

    // A description of the purpose of this API Gateway RestApi resource.
    Description *StringExpr `json:"Description,omitempty"`

    // If a warning occurs while API Gateway is creating the RestApi
    // resource, indicates whether to roll back the resource.
    FailOnWarnings *BoolExpr `json:"FailOnWarnings,omitempty"`

    // A name for the API Gateway RestApi resource.
    Name *StringExpr `json:"Name,omitempty"`

    // Custom header parameters for the request.
    Parameters *StringListExpr `json:"Parameters,omitempty"`
}

ApiGatewayRestApi represents AWS::ApiGateway::RestApi

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html

func (ApiGatewayRestApi) CfnResourceType Uses

func (s ApiGatewayRestApi) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::RestApi to implement the ResourceProperties interface

type ApiGatewayStage Uses

type ApiGatewayStage struct {
    // Indicates whether cache clustering is enabled for the stage.
    CacheClusterEnabled *BoolExpr `json:"CacheClusterEnabled,omitempty"`

    // The stage's cache cluster size.
    CacheClusterSize *StringExpr `json:"CacheClusterSize,omitempty"`

    // The identifier of the client certificate that API Gateway uses to call
    // your integration endpoints in the stage.
    ClientCertificateId *StringExpr `json:"ClientCertificateId,omitempty"`

    // The ID of the deployment that the stage points to.
    DeploymentId *StringExpr `json:"DeploymentId,omitempty"`

    // A description of the stage's purpose.
    Description *StringExpr `json:"Description,omitempty"`

    // Settings for all methods in the stage.
    MethodSettings *APIGatewayStageMethodSettingList `json:"MethodSettings,omitempty"`

    // The ID of the RestApi resource that you're deploying with this stage.
    RestApiId *StringExpr `json:"RestApiId,omitempty"`

    // The name of the stage, which API Gateway uses as the first path
    // segment in the invoke Uniform Resource Identifier (URI).
    StageName *StringExpr `json:"StageName,omitempty"`

    // A map (string to string map) that defines the stage variables, where
    // the variable name is the key and the variable value is the value.
    // Variable names are limited to alphanumeric characters. Values must
    // match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+.
    Variables interface{} `json:"Variables,omitempty"`
}

ApiGatewayStage represents AWS::ApiGateway::Stage

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html

func (ApiGatewayStage) CfnResourceType Uses

func (s ApiGatewayStage) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::Stage to implement the ResourceProperties interface

type ApiGatewayUsagePlan Uses

type ApiGatewayUsagePlan struct {
    // The APIs and API stages to associate with this usage plan.
    ApiStages *APIGatewayUsagePlanApiStageList `json:"ApiStages,omitempty"`

    // The purpose of this usage plan.
    Description *StringExpr `json:"Description,omitempty"`

    // Configures the number of requests that users can make within a given
    // interval.
    Quota *APIGatewayUsagePlanQuotaSettings `json:"Quota,omitempty"`

    // Configures the overall request rate (average requests per second) and
    // burst capacity.
    Throttle *APIGatewayUsagePlanThrottleSettings `json:"Throttle,omitempty"`

    // A name for this usage plan.
    UsagePlanName *StringExpr `json:"UsagePlanName,omitempty"`
}

ApiGatewayUsagePlan represents AWS::ApiGateway::UsagePlan

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html

func (ApiGatewayUsagePlan) CfnResourceType Uses

func (s ApiGatewayUsagePlan) CfnResourceType() string

CfnResourceType returns AWS::ApiGateway::UsagePlan to implement the ResourceProperties interface

type ApplicationAutoScalingScalableTarget Uses

type ApplicationAutoScalingScalableTarget struct {
    // The maximum value that Application Auto Scaling can use to scale a
    // target during a scaling activity.
    MaxCapacity *IntegerExpr `json:"MaxCapacity,omitempty"`

    // The minimum value that Application Auto Scaling can use to scale a
    // target during a scaling activity.
    MinCapacity *IntegerExpr `json:"MinCapacity,omitempty"`

    // The unique resource identifier to associate with this scalable target.
    // For more information, see the ResourceId parameter for the
    // RegisterScalableTarget action in the Application Auto Scaling API
    // Reference.
    ResourceId *StringExpr `json:"ResourceId,omitempty"`

    // The Amazon Resource Name (ARN) of an AWS Identity and Access
    // Management (IAM) role that allows Application Auto Scaling to modify
    // your scalable target.
    RoleARN *StringExpr `json:"RoleARN,omitempty"`

    // The scalable dimension associated with the scalable target. Specify
    // the service namespace, resource type, and scaling property, such as
    // ecs:service:DesiredCount for the desired task count of an Amazon EC2
    // Container Service service. For valid values, see the ScalableDimension
    // content for the ScalingPolicy data type in the Application Auto
    // Scaling API Reference.
    ScalableDimension *StringExpr `json:"ScalableDimension,omitempty"`

    // The AWS service namespace of the scalable target. For a list of
    // service namespaces, see AWS Service Namespaces in the AWS General
    // Reference.
    ServiceNamespace *StringExpr `json:"ServiceNamespace,omitempty"`
}

ApplicationAutoScalingScalableTarget represents AWS::ApplicationAutoScaling::ScalableTarget

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html

func (ApplicationAutoScalingScalableTarget) CfnResourceType Uses

func (s ApplicationAutoScalingScalableTarget) CfnResourceType() string

CfnResourceType returns AWS::ApplicationAutoScaling::ScalableTarget to implement the ResourceProperties interface

type ApplicationAutoScalingScalingPolicy Uses

type ApplicationAutoScalingScalingPolicy struct {
    // A name for the scaling policy.
    PolicyName *StringExpr `json:"PolicyName,omitempty"`

    // An Application Auto Scaling policy type. For valid values, see the
    // PolicyType parameter for the PutScalingPolicy action in the
    // Application Auto Scaling API Reference.
    PolicyType *StringExpr `json:"PolicyType,omitempty"`

    // The unique resource identifier for the scalable target that this
    // scaling policy applies to. For more information, see the ResourceId
    // parameter for the PutScalingPolicy action in the Application Auto
    // Scaling API Reference.
    ResourceId *StringExpr `json:"ResourceId,omitempty"`

    // The scalable dimension of the scalable target that this scaling policy
    // applies to. The scalable dimension contains the service namespace,
    // resource type, and scaling property, such as ecs:service:DesiredCount
    // for the desired task count of an Amazon ECS service.
    ScalableDimension *StringExpr `json:"ScalableDimension,omitempty"`

    // The AWS service namespace of the scalable target that this scaling
    // policy applies to. For a list of service namespaces, see AWS Service
    // Namespaces in the AWS General Reference.
    ServiceNamespace *StringExpr `json:"ServiceNamespace,omitempty"`

    // The AWS CloudFormation-generated ID of an Application Auto Scaling
    // scalable target. For more information about the ID, see the Return
    // Value section of the AWS::ApplicationAutoScaling::ScalableTarget
    // resource.
    ScalingTargetId *StringExpr `json:"ScalingTargetId,omitempty"`

    // A step policy that configures when Application Auto Scaling scales
    // resources up or down, and by how much.
    StepScalingPolicyConfiguration *ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration `json:"StepScalingPolicyConfiguration,omitempty"`
}

ApplicationAutoScalingScalingPolicy represents AWS::ApplicationAutoScaling::ScalingPolicy

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html

func (ApplicationAutoScalingScalingPolicy) CfnResourceType Uses

func (s ApplicationAutoScalingScalingPolicy) CfnResourceType() string

CfnResourceType returns AWS::ApplicationAutoScaling::ScalingPolicy to implement the ResourceProperties interface

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration Uses

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration struct {
    // Specifies whether the ScalingAdjustment value in the StepAdjustment
    // property is an absolute number or a percentage of the current
    // capacity. For valid values, see the AdjustmentType content for the
    // StepScalingPolicyConfiguration data type in the Application Auto
    // Scaling API Reference.
    AdjustmentType *StringExpr `json:"AdjustmentType,omitempty"`

    // The amount of time, in seconds, after a scaling activity completes
    // before any further trigger-related scaling activities can start. For
    // more information, see the Cooldown content for the
    // StepScalingPolicyConfiguration data type in the Application Auto
    // Scaling API Reference.
    Cooldown *IntegerExpr `json:"Cooldown,omitempty"`

    // The aggregation type for the CloudWatch metrics. You can specify
    // Minimum, Maximum, or Average. By default, AWS CloudFormation specifies
    // Average. For more information, see Aggregation in the Amazon
    // CloudWatch User Guide.
    MetricAggregationType *StringExpr `json:"MetricAggregationType,omitempty"`

    // The minimum number of resources to adjust when a scaling activity is
    // triggered. If you specify PercentChangeInCapacity for the adjustment
    // type, the scaling policy scales the target by this amount.
    MinAdjustmentMagnitude *IntegerExpr `json:"MinAdjustmentMagnitude,omitempty"`

    // A set of adjustments that enable you to scale based on the size of the
    // alarm breach.
    StepAdjustments *ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustmentList `json:"StepAdjustments,omitempty"`
}

ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration represents Application Auto Scaling ScalingPolicy StepScalingPolicyConfiguration

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationList Uses

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationList []ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration

ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationList represents a list of ApplicationAutoScalingScalingPolicyStepScalingPolicyConfiguration

func (*ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationList) UnmarshalJSON Uses

func (l *ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustment Uses

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustment struct {
    // The lower bound of the breach size. The lower bound is the difference
    // between the breach threshold and the aggregated CloudWatch metric
    // value. If the metric value is within the lower and upper bounds,
    // Application Auto Scaling triggers this step adjustment.
    MetricIntervalLowerBound *IntegerExpr `json:"MetricIntervalLowerBound,omitempty"`

    // The upper bound of the breach size. The upper bound is the difference
    // between the breach threshold and the CloudWatch metric value. If the
    // metric value is within the lower and upper bounds, Application Auto
    // Scaling triggers this step adjustment.
    MetricIntervalUpperBound *IntegerExpr `json:"MetricIntervalUpperBound,omitempty"`

    // The amount by which to scale. The adjustment is based on the value
    // that you specified in the AdjustmentType property (either an absolute
    // number or a percentage). A positive value adds to the current capacity
    // and a negative number subtracts from the current capacity.
    ScalingAdjustment *IntegerExpr `json:"ScalingAdjustment,omitempty"`
}

ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustment represents Application Auto Scaling ScalingPolicy StepScalingPolicyConfiguration StepAdjustment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustmentList Uses

type ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustmentList []ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustment

ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustmentList represents a list of ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustment

func (*ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustmentList) UnmarshalJSON Uses

func (l *ApplicationAutoScalingScalingPolicyStepScalingPolicyConfigurationStepAdjustmentList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type AutoScalingAutoScalingGroup Uses

type AutoScalingAutoScalingGroup struct {
    // Contains a list of availability zones for the group.
    AvailabilityZones *StringListExpr `json:"AvailabilityZones,omitempty"`

    // The number of seconds after a scaling activity is completed before any
    // further scaling activities can start.
    Cooldown *StringExpr `json:"Cooldown,omitempty"`

    // Specifies the desired capacity for the Auto Scaling group.
    DesiredCapacity *StringExpr `json:"DesiredCapacity,omitempty"`

    // The length of time in seconds after a new EC2 instance comes into
    // service that Auto Scaling starts checking its health.
    HealthCheckGracePeriod *IntegerExpr `json:"HealthCheckGracePeriod,omitempty"`

    // The service you want the health status from, Amazon EC2 or Elastic
    // Load Balancer. Valid values are EC2 or ELB.
    HealthCheckType *StringExpr `json:"HealthCheckType,omitempty"`

    // The ID of the Amazon EC2 instance you want to use to create the Auto
    // Scaling group. Use this property if you want to create an Auto Scaling
    // group that uses an existing Amazon EC2 instance instead of a launch
    // configuration.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // Specifies the name of the associated
    // AWS::AutoScaling::LaunchConfiguration.
    LaunchConfigurationName *StringExpr `json:"LaunchConfigurationName,omitempty"`

    // A list of Classic load balancers associated with this Auto Scaling
    // group. To specify Application load balancers, use TargetGroupARNs.
    LoadBalancerNames *StringListExpr `json:"LoadBalancerNames,omitempty"`

    // The maximum size of the Auto Scaling group.
    MaxSize *StringExpr `json:"MaxSize,omitempty"`

    // Enables the monitoring of group metrics of an Auto Scaling group.
    MetricsCollection *AutoScalingMetricsCollectionList `json:"MetricsCollection,omitempty"`

    // The minimum size of the Auto Scaling group.
    MinSize *StringExpr `json:"MinSize,omitempty"`

    // An embedded property that configures an Auto Scaling group to send
    // notifications when specified events take place.
    NotificationConfigurations *AutoScalingNotificationConfigurationsList `json:"NotificationConfigurations,omitempty"`

    // The name of an existing cluster placement group into which you want to
    // launch your instances. A placement group is a logical grouping of
    // instances within a single Availability Zone. You cannot specify
    // multiple Availability Zones and a placement group.
    PlacementGroup *StringExpr `json:"PlacementGroup,omitempty"`

    // The tags you want to attach to this resource.
    Tags *AutoScalingTagsList `json:"Tags,omitempty"`

    // A list of Amazon Resource Names (ARN) of target groups to associate
    // with the Auto Scaling group.
    TargetGroupARNs *StringListExpr `json:"TargetGroupARNs,omitempty"`

    // A policy or a list of policies that are used to select the instances
    // to terminate. The policies are executed in the order that you list
    // them.
    TerminationPolicies *StringListExpr `json:"TerminationPolicies,omitempty"`

    // A list of subnet identifiers of Amazon Virtual Private Cloud (Amazon
    // VPCs).
    VPCZoneIdentifier *StringListExpr `json:"VPCZoneIdentifier,omitempty"`
}

AutoScalingAutoScalingGroup represents AWS::AutoScaling::AutoScalingGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html

func (AutoScalingAutoScalingGroup) CfnResourceType Uses

func (s AutoScalingAutoScalingGroup) CfnResourceType() string

CfnResourceType returns AWS::AutoScaling::AutoScalingGroup to implement the ResourceProperties interface

type AutoScalingBlockDeviceMapping Uses

type AutoScalingBlockDeviceMapping struct {
    // The name of the device within Amazon EC2.
    DeviceName *StringExpr `json:"DeviceName,omitempty"`

    // The Amazon Elastic Block Store volume information.
    Ebs *AutoScalingEBSBlockDevice `json:"Ebs,omitempty"`

    // Suppresses the device mapping. If NoDevice is set to true for the root
    // device, the instance might fail the Amazon EC2 health check. Auto
    // Scaling launches a replacement instance if the instance fails the
    // health check.
    NoDevice *BoolExpr `json:"NoDevice,omitempty"`

    // The name of the virtual device. The name must be in the form
    // ephemeralX where X is a number starting from zero (0), for example,
    // ephemeral0.
    VirtualName *StringExpr `json:"VirtualName,omitempty"`
}

AutoScalingBlockDeviceMapping represents AWS CloudFormation AutoScaling Block Device Mapping Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html

type AutoScalingBlockDeviceMappingList Uses

type AutoScalingBlockDeviceMappingList []AutoScalingBlockDeviceMapping

AutoScalingBlockDeviceMappingList represents a list of AutoScalingBlockDeviceMapping

func (*AutoScalingBlockDeviceMappingList) UnmarshalJSON Uses

func (l *AutoScalingBlockDeviceMappingList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type AutoScalingEBSBlockDevice Uses

type AutoScalingEBSBlockDevice struct {
    // Indicates whether to delete the volume when the instance is
    // terminated. By default, Auto Scaling uses true.
    DeleteOnTermination *BoolExpr `json:"DeleteOnTermination,omitempty"`

    // Indicates whether the volume is encrypted. Encrypted EBS volumes must
    // be attached to instances that support Amazon EBS encryption. Volumes
    // that you create from encrypted snapshots are automatically encrypted.
    // You cannot create an encrypted volume from an unencrypted snapshot or
    // an unencrypted volume from an encrypted snapshot.
    Encrypted *BoolExpr `json:"Encrypted,omitempty"`

    // The number of I/O operations per second (IOPS) that the volume
    // supports. The maximum ratio of IOPS to volume size is 30.
    Iops *IntegerExpr `json:"Iops,omitempty"`

    // The snapshot ID of the volume to use.
    SnapshotId *StringExpr `json:"SnapshotId,omitempty"`

    // The volume size, in Gibibytes (GiB). This can be a number from 1 –
    // 1024. If the volume type is EBS optimized, the minimum value is 10.
    // For more information about specifying the volume type, see
    // EbsOptimized in AWS::AutoScaling::LaunchConfiguration.
    VolumeSize *IntegerExpr `json:"VolumeSize,omitempty"`

    // The volume type. By default, Auto Scaling uses the standard volume
    // type. For more information, see Ebs in the Auto Scaling API Reference.
    VolumeType *StringExpr `json:"VolumeType,omitempty"`
}

AutoScalingEBSBlockDevice represents AWS CloudFormation AutoScaling EBS Block Device Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html

type AutoScalingEBSBlockDeviceList Uses

type AutoScalingEBSBlockDeviceList []AutoScalingEBSBlockDevice

AutoScalingEBSBlockDeviceList represents a list of AutoScalingEBSBlockDevice

func (*AutoScalingEBSBlockDeviceList) UnmarshalJSON Uses

func (l *AutoScalingEBSBlockDeviceList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type AutoScalingLaunchConfiguration Uses

type AutoScalingLaunchConfiguration struct {
    // For Amazon EC2 instances in a VPC, indicates whether instances in the
    // Auto Scaling group receive public IP addresses. If you specify true,
    // each instance in the Auto Scaling receives a unique public IP address.
    AssociatePublicIpAddress *BoolExpr `json:"AssociatePublicIpAddress,omitempty"`

    // Specifies how block devices are exposed to the instance. You can
    // specify virtual devices and EBS volumes.
    BlockDeviceMappings *AutoScalingBlockDeviceMappingList `json:"BlockDeviceMappings,omitempty"`

    // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances
    // to. You can specify this property only for EC2-Classic instances. For
    // more information, see ClassicLink in the Amazon Elastic Compute Cloud
    // User Guide.
    ClassicLinkVPCId *StringExpr `json:"ClassicLinkVPCId,omitempty"`

    // The IDs of one or more security groups for the VPC that you specified
    // in the ClassicLinkVPCId property.
    ClassicLinkVPCSecurityGroups *StringListExpr `json:"ClassicLinkVPCSecurityGroups,omitempty"`

    // Specifies whether the launch configuration is optimized for EBS I/O.
    // This optimization provides dedicated throughput to Amazon EBS and an
    // optimized configuration stack to provide optimal EBS I/O performance.
    EbsOptimized *BoolExpr `json:"EbsOptimized,omitempty"`

    // Provides the name or the Amazon Resource Name (ARN) of the instance
    // profile associated with the IAM role for the instance. The instance
    // profile contains the IAM role.
    IamInstanceProfile *StringExpr `json:"IamInstanceProfile,omitempty"`

    // Provides the unique ID of the Amazon Machine Image (AMI) that was
    // assigned during registration.
    ImageId *StringExpr `json:"ImageId,omitempty"`

    // The ID of the Amazon EC2 instance you want to use to create the launch
    // configuration. Use this property if you want the launch configuration
    // to use settings from an existing Amazon EC2 instance.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // Indicates whether detailed instance monitoring is enabled for the Auto
    // Scaling group. By default, this property is set to true (enabled).
    InstanceMonitoring *BoolExpr `json:"InstanceMonitoring,omitempty"`

    // Specifies the instance type of the EC2 instance.
    InstanceType *StringExpr `json:"InstanceType,omitempty"`

    // Provides the ID of the kernel associated with the EC2 AMI.
    KernelId *StringExpr `json:"KernelId,omitempty"`

    // Provides the name of the EC2 key pair.
    KeyName *StringExpr `json:"KeyName,omitempty"`

    // The tenancy of the instance. An instance with a tenancy of dedicated
    // runs on single-tenant hardware and can only be launched in a VPC. You
    // must set the value of this parameter to dedicated if want to launch
    // dedicated instances in a shared tenancy VPC (a VPC with the instance
    // placement tenancy attribute set to default). For more information, see
    // CreateLaunchConfiguration in the Auto Scaling API Reference.
    PlacementTenancy *StringExpr `json:"PlacementTenancy,omitempty"`

    // The ID of the RAM disk to select. Some kernels require additional
    // drivers at launch. Check the kernel requirements for information about
    // whether you need to specify a RAM disk. To find kernel requirements,
    // refer to the AWS Resource Center and search for the kernel ID.
    RamDiskId *StringExpr `json:"RamDiskId,omitempty"`

    // A list that contains the EC2 security groups to assign to the Amazon
    // EC2 instances in the Auto Scaling group. The list can contain the name
    // of existing EC2 security groups or references to
    // AWS::EC2::SecurityGroup resources created in the template. If your
    // instances are launched within VPC, specify Amazon VPC security group
    // IDs.
    SecurityGroups interface{} `json:"SecurityGroups,omitempty"`

    // The spot price for this autoscaling group. If a spot price is set,
    // then the autoscaling group will launch when the current spot price is
    // less than the amount specified in the template.
    SpotPrice *StringExpr `json:"SpotPrice,omitempty"`

    // The user data available to the launched EC2 instances.
    UserData *StringExpr `json:"UserData,omitempty"`
}

AutoScalingLaunchConfiguration represents AWS::AutoScaling::LaunchConfiguration

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html

func (AutoScalingLaunchConfiguration) CfnResourceType Uses

func (s AutoScalingLaunchConfiguration) CfnResourceType() string

CfnResourceType returns AWS::AutoScaling::LaunchConfiguration to implement the ResourceProperties interface

type AutoScalingLifecycleHook Uses

type AutoScalingLifecycleHook struct {
    // The name of the Auto Scaling group for the lifecycle hook.
    AutoScalingGroupName *StringExpr `json:"AutoScalingGroupName,omitempty"`

    // The action the Auto Scaling group takes when the lifecycle hook
    // timeout elapses or if an unexpected failure occurs.
    DefaultResult *StringExpr `json:"DefaultResult,omitempty"`

    // The amount of time that can elapse before the lifecycle hook times
    // out. When the lifecycle hook times out, Auto Scaling performs the
    // action that you specified in the DefaultResult property.
    HeartbeatTimeout *IntegerExpr `json:"HeartbeatTimeout,omitempty"`

    // The state of the Amazon EC2 instance to which you want to attach the
    // lifecycle hook. For valid values, see the LifecycleTransition content
    // for the LifecycleHook data type in the Auto Scaling API Reference.
    LifecycleTransition *StringExpr `json:"LifecycleTransition,omitempty"`

    // Additional information that you want to include when Auto Scaling
    // sends a message to the notification target.
    NotificationMetadata *StringExpr `json:"NotificationMetadata,omitempty"`

    // The Amazon resource name (ARN) of the notification target that Auto
    // Scaling uses to notify you when an instance is in the transition state
    // for the lifecycle hook. You can specify an Amazon SQS queue or an
    // Amazon SNS topic. The notification message includes the following
    // information: lifecycle action token, user account ID, Auto Scaling
    // group name, lifecycle hook name, instance ID, lifecycle transition,
    // and notification metadata.
    NotificationTargetARN *StringExpr `json:"NotificationTargetARN,omitempty"`

    // The ARN of the IAM role that allows the Auto Scaling group to publish
    // to the specified notification target. The role requires permissions to
    // Amazon SNS and Amazon SQS.
    RoleARN *StringExpr `json:"RoleARN,omitempty"`
}

AutoScalingLifecycleHook represents AWS::AutoScaling::LifecycleHook

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html

func (AutoScalingLifecycleHook) CfnResourceType Uses

func (s AutoScalingLifecycleHook) CfnResourceType() string

CfnResourceType returns AWS::AutoScaling::LifecycleHook to implement the ResourceProperties interface

type AutoScalingMetricsCollection Uses

type AutoScalingMetricsCollection struct {
    // The frequency at which Auto Scaling sends aggregated data to
    // CloudWatch. For example, you can specify 1Minute to send aggregated
    // data to CloudWatch every minute.
    Granularity *StringExpr `json:"Granularity,omitempty"`

    // The list of metrics to collect. If you don't specify any metrics, all
    // metrics are enabled.
    Metrics *StringListExpr `json:"Metrics,omitempty"`
}

AutoScalingMetricsCollection represents Auto Scaling MetricsCollection

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html

type AutoScalingMetricsCollectionList Uses

type AutoScalingMetricsCollectionList []AutoScalingMetricsCollection

AutoScalingMetricsCollectionList represents a list of AutoScalingMetricsCollection

func (*AutoScalingMetricsCollectionList) UnmarshalJSON Uses

func (l *AutoScalingMetricsCollectionList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type AutoScalingNotificationConfigurations Uses

type AutoScalingNotificationConfigurations struct {
    // A list of event types that trigger a notification. Event types can
    // include any of the following types: autoscaling:EC2_INSTANCE_LAUNCH,
    // autoscaling:EC2_INSTANCE_LAUNCH_ERROR,
    // autoscaling:EC2_INSTANCE_TERMINATE,
    // autoscaling:EC2_INSTANCE_TERMINATE_ERROR, and
    // autoscaling:TEST_NOTIFICATION. For more information about event types,
    // see DescribeAutoScalingNotificationTypes in the Auto Scaling API
    // Reference.
    NotificationTypes *StringListExpr `json:"NotificationTypes,omitempty"`

    // The Amazon Resource Name (ARN) of the Amazon Simple Notification
    // Service (SNS) topic.
    TopicARN *StringExpr `json:"TopicARN,omitempty"`
}

AutoScalingNotificationConfigurations represents Auto Scaling NotificationConfigurations

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html

type AutoScalingNotificationConfigurationsList Uses

type AutoScalingNotificationConfigurationsList []AutoScalingNotificationConfigurations

AutoScalingNotificationConfigurationsList represents a list of AutoScalingNotificationConfigurations

func (*AutoScalingNotificationConfigurationsList) UnmarshalJSON Uses

func (l *AutoScalingNotificationConfigurationsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type AutoScalingScalingPolicy Uses

type AutoScalingScalingPolicy struct {
    // Specifies whether the ScalingAdjustment is an absolute number or a
    // percentage of the current capacity. Valid values are ChangeInCapacity,
    // ExactCapacity, and PercentChangeInCapacity.
    AdjustmentType *StringExpr `json:"AdjustmentType,omitempty"`

    // The name or Amazon Resource Name (ARN) of the Auto Scaling Group that
    // you want to attach the policy to.
    AutoScalingGroupName *StringExpr `json:"AutoScalingGroupName,omitempty"`

    // The amount of time, in seconds, after a scaling activity completes
    // before any further trigger-related scaling activities can start.
    Cooldown *StringExpr `json:"Cooldown,omitempty"`

    // The estimated time, in seconds, until a newly launched instance can
    // send metrics to CloudWatch. By default, Auto Scaling uses the cooldown
    // period, as specified in the Cooldown property.
    EstimatedInstanceWarmup *IntegerExpr `json:"EstimatedInstanceWarmup,omitempty"`

    // The aggregation type for the CloudWatch metrics. You can specify
    // Minimum, Maximum, or Average. By default, AWS CloudFormation specifies
    // Average.
    MetricAggregationType *StringExpr `json:"MetricAggregationType,omitempty"`

    // For the PercentChangeInCapacity adjustment type, the minimum number of
    // instances to scale. The scaling policy changes the desired capacity of
    // the Auto Scaling group by a minimum of this many instances. This
    // property replaces the MinAdjustmentStep property.
    MinAdjustmentMagnitude *IntegerExpr `json:"MinAdjustmentMagnitude,omitempty"`

    // An Auto Scaling policy type. You can specify SimpleScaling or
    // StepScaling. By default, AWS CloudFormation specifies SimpleScaling.
    // For more information, see Scaling Policy Types in the Auto Scaling
    // User Guide.
    PolicyType *StringExpr `json:"PolicyType,omitempty"`

    // The number of instances by which to scale. The AdjustmentType property
    // determines if AWS CloudFormation interprets this number as an absolute
    // number (when the ExactCapacity value is specified), increase or
    // decrease capacity by a specified number (when the ChangeInCapacity
    // value is specified), or increase or decrease capacity as a percentage
    // of the existing Auto Scaling group size (when the
    // PercentChangeInCapacity value is specified). A positive value adds to
    // the current capacity and a negative value subtracts from the current
    // capacity. For exact capacity, you must specify a positive value.
    ScalingAdjustment *IntegerExpr `json:"ScalingAdjustment,omitempty"`

    // A set of adjustments that enable you to scale based on the size of the
    // alarm breach.
    StepAdjustments *AutoScalingScalingPolicyStepAdjustmentsList `json:"StepAdjustments,omitempty"`
}

AutoScalingScalingPolicy represents AWS::AutoScaling::ScalingPolicy

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html

func (AutoScalingScalingPolicy) CfnResourceType Uses

func (s AutoScalingScalingPolicy) CfnResourceType() string

CfnResourceType returns AWS::AutoScaling::ScalingPolicy to implement the ResourceProperties interface

type AutoScalingScalingPolicyStepAdjustments Uses

type AutoScalingScalingPolicyStepAdjustments struct {
    // The lower bound of the breach size. The lower bound is the difference
    // between the breach threshold and the aggregated CloudWatch metric
    // value. If the metric value is within the lower and upper bounds, Auto
    // Scaling triggers this step adjustment.
    MetricIntervalLowerBound *IntegerExpr `json:"MetricIntervalLowerBound,omitempty"`

    // The upper bound of the breach size. The upper bound is the difference
    // between the breach threshold and the CloudWatch metric value. If the
    // metric value is within the lower and upper bounds, Auto Scaling
    // triggers this step adjustment.
    MetricIntervalUpperBound *IntegerExpr `json:"MetricIntervalUpperBound,omitempty"`

    // The amount by which to scale. The adjustment is based on the value
    // that you specified in the AdjustmentType property (either an absolute
    // number or a percentage). A positive value adds to the current capacity
    // and a negative number subtracts from the current capacity.
    ScalingAdjustment *IntegerExpr `json:"ScalingAdjustment,omitempty"`
}

AutoScalingScalingPolicyStepAdjustments represents Auto Scaling ScalingPolicy StepAdjustments

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html

type AutoScalingScalingPolicyStepAdjustmentsList Uses

type AutoScalingScalingPolicyStepAdjustmentsList []AutoScalingScalingPolicyStepAdjustments

AutoScalingScalingPolicyStepAdjustmentsList represents a list of AutoScalingScalingPolicyStepAdjustments

func (*AutoScalingScalingPolicyStepAdjustmentsList) UnmarshalJSON Uses

func (l *AutoScalingScalingPolicyStepAdjustmentsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type AutoScalingScheduledAction Uses

type AutoScalingScheduledAction struct {
    // The name or ARN of the Auto Scaling group.
    AutoScalingGroupName *StringExpr `json:"AutoScalingGroupName,omitempty"`

    // The number of Amazon EC2 instances that should be running in the Auto
    // Scaling group.
    DesiredCapacity *IntegerExpr `json:"DesiredCapacity,omitempty"`

    // The time in UTC for this schedule to end. For example,
    // 2010-06-01T00:00:00Z.
    EndTime time.Time `json:"EndTime,omitempty"`

    // The maximum number of Amazon EC2 instances in the Auto Scaling group.
    MaxSize *IntegerExpr `json:"MaxSize,omitempty"`

    // The minimum number of Amazon EC2 instances in the Auto Scaling group.
    MinSize *IntegerExpr `json:"MinSize,omitempty"`

    // The time in UTC when recurring future actions will start. You specify
    // the start time by following the Unix cron syntax format. For more
    // information about cron syntax, go to
    // http://en.wikipedia.org/wiki/Cron.
    Recurrence *StringExpr `json:"Recurrence,omitempty"`

    // The time in UTC for this schedule to start. For example,
    // 2010-06-01T00:00:00Z.
    StartTime time.Time `json:"StartTime,omitempty"`
}

AutoScalingScheduledAction represents AWS::AutoScaling::ScheduledAction

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html

func (AutoScalingScheduledAction) CfnResourceType Uses

func (s AutoScalingScheduledAction) CfnResourceType() string

CfnResourceType returns AWS::AutoScaling::ScheduledAction to implement the ResourceProperties interface

type AutoScalingTags Uses

type AutoScalingTags struct {
    // The key name of the tag.
    Key *StringExpr `json:"Key,omitempty"`

    // The value for the tag.
    Value *StringExpr `json:"Value,omitempty"`

    // Set to true if you want AWS CloudFormation to copy the tag to EC2
    // instances that are launched as part of the auto scaling group. Set to
    // false if you want the tag attached only to the auto scaling group and
    // not copied to any instances launched as part of the auto scaling
    // group.
    PropagateAtLaunch *BoolExpr `json:"PropagateAtLaunch,omitempty"`
}

AutoScalingTags represents Auto Scaling Tags Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html

type AutoScalingTagsList Uses

type AutoScalingTagsList []AutoScalingTags

AutoScalingTagsList represents a list of AutoScalingTags

func (*AutoScalingTagsList) UnmarshalJSON Uses

func (l *AutoScalingTagsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type Base64Func Uses

type Base64Func struct {
    Value StringExpr `json:"Fn::Base64"`
}

Base64Func represents an invocation of Fn::Base64.

The intrinsic function Fn::Base64 returns the Base64 representation of the input string. This function is typically used to pass encoded data to Amazon EC2 instances by way of the UserData property.

See http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html

func (Base64Func) String Uses

func (f Base64Func) String() *StringExpr

type BoolExpr Uses

type BoolExpr struct {
    Func    BoolFunc
    Literal bool
}

BoolExpr represents a boolean expression. If the value is computed then Func will be non-nil. If it is a literal `true` or `false` then the Literal gives the value. Typically instances of this function are created by Bool() or one of the function constructors. Ex:

type LocalBalancer struct {
  CrossZone *BoolExpr
}

lb := LocalBalancer{CrossZone: Bool(true)}
lb2 := LocalBalancer{CrossZone: Ref("LoadBalancerCrossZone").Bool()}

func Bool Uses

func Bool(v bool) *BoolExpr

Bool returns a new BoolExpr representing the literal value v.

func (BoolExpr) MarshalJSON Uses

func (x BoolExpr) MarshalJSON() ([]byte, error)

MarshalJSON returns a JSON representation of the object

func (*BoolExpr) UnmarshalJSON Uses

func (x *BoolExpr) UnmarshalJSON(data []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type BoolFunc Uses

type BoolFunc interface {
    Func
    Bool() *BoolExpr
}

BoolFunc is an interface provided by objects that represent Cloudformation function that can return a boolean value.

type CertificateManagerCertificate Uses

type CertificateManagerCertificate struct {
    // Fully qualified domain name (FQDN), such as www.example.com, of the
    // site that you want to secure with the ACM certificate. To protect
    // several sites in the same domain, use an asterisk (*) to specify a
    // wildcard. For example, *.example.com protects www.example.com,
    // site.example.com, and images.example.com.
    DomainName *StringExpr `json:"DomainName,omitempty"`

    // Domain information that domain name registrars use to verify your
    // identity. For more information and the default values, see Configure
    // Email for Your Domain and Validate Domain Ownership in the AWS
    // Certificate Manager User Guide.
    DomainValidationOptions *CertificateManagerCertificateDomainValidationOptionList `json:"DomainValidationOptions,omitempty"`

    // FQDNs to be included in the Subject Alternative Name extension of the
    // ACM certificate. For example, you can add www.example.net to a
    // certificate for the www.example.com domain name so that users can
    // reach your site by using either name.
    SubjectAlternativeNames *StringListExpr `json:"SubjectAlternativeNames,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this ACM certificate.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

CertificateManagerCertificate represents AWS::CertificateManager::Certificate

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html

func (CertificateManagerCertificate) CfnResourceType Uses

func (s CertificateManagerCertificate) CfnResourceType() string

CfnResourceType returns AWS::CertificateManager::Certificate to implement the ResourceProperties interface

type CertificateManagerCertificateDomainValidationOption Uses

type CertificateManagerCertificateDomainValidationOption struct {
    // Fully Qualified Domain Name (FQDN) of the Certificate that you are
    // requesting.
    DomainName *StringExpr `json:"DomainName,omitempty"`

    // The domain that domain name registrars use to send validation emails.
    // Registrars use this value as the email address suffix when sending
    // emails to verify your identity. This value must be the same as the
    // domain name or a superdomain of the domain name. For more information,
    // see the ValidationDomain content for the DomainValidationOption data
    // type in the AWS Certificate Manager API Reference.
    ValidationDomain *StringExpr `json:"ValidationDomain,omitempty"`
}

CertificateManagerCertificateDomainValidationOption represents AWS Certificate Manager Certificate DomainValidationOption

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html

type CertificateManagerCertificateDomainValidationOptionList Uses

type CertificateManagerCertificateDomainValidationOptionList []CertificateManagerCertificateDomainValidationOption

CertificateManagerCertificateDomainValidationOptionList represents a list of CertificateManagerCertificateDomainValidationOption

func (*CertificateManagerCertificateDomainValidationOptionList) UnmarshalJSON Uses

func (l *CertificateManagerCertificateDomainValidationOptionList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFormationAuthentication Uses

type CloudFormationAuthentication struct {
    // Specifies the access key ID for S3 authentication.
    AccessKeyId *StringExpr `json:"accessKeyId,omitempty"`

    // A comma-delimited list of Amazon S3 buckets to be associated with the
    // S3 authentication credentials.
    Buckets *StringListExpr `json:"buckets,omitempty"`

    // Specifies the password for basic authentication.
    Password *StringExpr `json:"password,omitempty"`

    // Specifies the secret key for S3 authentication.
    SecretKey *StringExpr `json:"secretKey,omitempty"`

    // Specifies whether the authentication scheme uses a user name and
    // password ("basic") or an access key ID and secret key ("S3").
    Type *StringExpr `json:"type,omitempty"`

    // A comma-delimited list of URIs to be associated with the basic
    // authentication credentials. The authorization applies to the specified
    // URIs and any more specific URI. For example, if you specify
    // http://www.example.com, the authorization will also apply to
    // http://www.example.com/test.
    Uris *StringListExpr `json:"uris,omitempty"`

    // Specifies the user name for basic authentication.
    Username *StringExpr `json:"username,omitempty"`

    // Describes the role for role-based authentication.
    RoleName *StringExpr `json:"roleName,omitempty"`
}

CloudFormationAuthentication represents AWS::CloudFormation::Authentication

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-authentication.html

func (CloudFormationAuthentication) CfnResourceType Uses

func (s CloudFormationAuthentication) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::Authentication to implement the ResourceProperties interface

type CloudFormationCustomResource Uses

type CloudFormationCustomResource struct {
    // The service token that was given to the template developer by the
    // service provider to access the service, such as an Amazon SNS topic
    // ARN or Lambda function ARN. The service token must be from the same
    // region in which you are creating the stack.
    ServiceToken *StringExpr `json:"ServiceToken,omitempty"`
}

CloudFormationCustomResource represents AWS::CloudFormation::CustomResource

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html

func (CloudFormationCustomResource) CfnResourceType Uses

func (s CloudFormationCustomResource) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::CustomResource to implement the ResourceProperties interface

type CloudFormationInit Uses

type CloudFormationInit struct {
}

CloudFormationInit represents AWS::CloudFormation::Init

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-init.html

func (CloudFormationInit) CfnResourceType Uses

func (s CloudFormationInit) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::Init to implement the ResourceProperties interface

type CloudFormationInterface Uses

type CloudFormationInterface struct {
    // A list of parameter group types, where you specify group names, the
    // parameters in each group, and the order in which the parameters are
    // shown.
    ParameterGroups *InterfaceParameterGroupList `json:"ParameterGroups,omitempty"`

    // A mapping of parameters and their friendly names that the AWS
    // CloudFormation console shows when a stack is created or updated.
    ParameterLabels *InterfaceParameterLabel `json:"ParameterLabels,omitempty"`
}

CloudFormationInterface represents AWS::CloudFormation::Interface

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html

func (CloudFormationInterface) CfnResourceType Uses

func (s CloudFormationInterface) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::Interface to implement the ResourceProperties interface

type CloudFormationStack Uses

type CloudFormationStack struct {
    // A list of existing Amazon SNS topics where notifications about stack
    // events are sent.
    NotificationARNs *StringListExpr `json:"NotificationARNs,omitempty"`

    // The set of parameters passed to AWS CloudFormation when this nested
    // stack is created.
    Parameters *CloudFormationStackParameters `json:"Parameters,omitempty"`

    // An arbitrary set of tags (key–value pairs) to describe this stack.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The URL of a template that specifies the stack that you want to create
    // as a resource. The template must be stored on an Amazon S3 bucket, so
    // the URL must have the form:
    // https://s3.amazonaws.com/.../TemplateName.template
    TemplateURL *StringExpr `json:"TemplateURL,omitempty"`

    // The length of time, in minutes, that AWS CloudFormation waits for the
    // nested stack to reach the CREATE_COMPLETE state. The default is no
    // timeout. When AWS CloudFormation detects that the nested stack has
    // reached the CREATE_COMPLETE state, it marks the nested stack resource
    // as CREATE_COMPLETE in the parent stack and resumes creating the parent
    // stack. If the timeout period expires before the nested stack reaches
    // CREATE_COMPLETE, AWS CloudFormation marks the nested stack as failed
    // and rolls back both the nested stack and parent stack.
    TimeoutInMinutes *IntegerExpr `json:"TimeoutInMinutes,omitempty"`
}

CloudFormationStack represents AWS::CloudFormation::Stack

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html

func (CloudFormationStack) CfnResourceType Uses

func (s CloudFormationStack) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::Stack to implement the ResourceProperties interface

type CloudFormationStackParameters Uses

type CloudFormationStackParameters struct {
}

CloudFormationStackParameters represents CloudFormation Stack Parameters Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack-parameters.html

type CloudFormationStackParametersList Uses

type CloudFormationStackParametersList []CloudFormationStackParameters

CloudFormationStackParametersList represents a list of CloudFormationStackParameters

func (*CloudFormationStackParametersList) UnmarshalJSON Uses

func (l *CloudFormationStackParametersList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFormationWaitCondition Uses

type CloudFormationWaitCondition struct {
    // The number of success signals that AWS CloudFormation must receive
    // before it continues the stack creation process. When the wait
    // condition receives the requisite number of success signals, AWS
    // CloudFormation resumes the creation of the stack. If the wait
    // condition does not receive the specified number of success signals
    // before the Timeout period expires, AWS CloudFormation assumes that the
    // wait condition has failed and rolls the stack back.
    Count *IntegerExpr `json:"Count,omitempty"`

    // A reference to the wait condition handle used to signal this wait
    // condition. Use the Ref intrinsic function to specify an
    // AWS::CloudFormation::WaitConditionHandle resource.
    Handle *StringExpr `json:"Handle,omitempty"`

    // The length of time (in seconds) to wait for the number of signals that
    // the Count property specifies. Timeout is a minimum-bound property,
    // meaning the timeout occurs no sooner than the time you specify, but
    // can occur shortly thereafter. The maximum time that can be specified
    // for this property is 12 hours (43200 seconds).
    Timeout *StringExpr `json:"Timeout,omitempty"`
}

CloudFormationWaitCondition represents AWS::CloudFormation::WaitCondition

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html

func (CloudFormationWaitCondition) CfnResourceType Uses

func (s CloudFormationWaitCondition) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::WaitCondition to implement the ResourceProperties interface

type CloudFormationWaitConditionHandle Uses

type CloudFormationWaitConditionHandle struct {
}

CloudFormationWaitConditionHandle represents AWS::CloudFormation::WaitConditionHandle

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitconditionhandle.html

func (CloudFormationWaitConditionHandle) CfnResourceType Uses

func (s CloudFormationWaitConditionHandle) CfnResourceType() string

CfnResourceType returns AWS::CloudFormation::WaitConditionHandle to implement the ResourceProperties interface

type CloudFrontDefaultCacheBehavior Uses

type CloudFrontDefaultCacheBehavior struct {
    // HTTP methods that CloudFront processes and forwards to your Amazon S3
    // bucket or your custom origin. In AWS CloudFormation templates, you can
    // specify ["HEAD", "GET"], ["GET", "HEAD", "OPTIONS"], or ["DELETE",
    // "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT"]. If you don't
    // specify a value, AWS CloudFormation specifies ["HEAD", "GET"].
    AllowedMethods *StringListExpr `json:"AllowedMethods,omitempty"`

    // HTTP methods for which CloudFront caches responses. In AWS
    // CloudFormation templates, you can specify ["HEAD", "GET"] or ["GET",
    // "HEAD", "OPTIONS"]. If you don't specify a value, AWS CloudFormation
    // specifies ["HEAD", "GET"].
    CachedMethods *StringListExpr `json:"CachedMethods,omitempty"`

    // Indicates whether CloudFront automatically compresses certain files
    // for this cache behavior. For more information, see Serving Compressed
    // Files in the Amazon CloudFront Developer Guide.
    Compress *BoolExpr `json:"Compress,omitempty"`

    // The default time in seconds that objects stay in CloudFront caches
    // before CloudFront forwards another request to your custom origin to
    // determine whether the object has been updated. This value applies only
    // when your custom origin does not add HTTP headers, such as
    // Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
    DefaultTTL *IntegerExpr `json:"DefaultTTL,omitempty"`

    // Specifies how CloudFront handles query strings or cookies.
    ForwardedValues *CloudFrontForwardedValues `json:"ForwardedValues,omitempty"`

    // The maximum time in seconds that objects stay in CloudFront caches
    // before CloudFront forwards another request to your custom origin to
    // determine whether the object has been updated. This value applies only
    // when your custom origin does not add HTTP headers, such as
    // Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
    MaxTTL *IntegerExpr `json:"MaxTTL,omitempty"`

    // The minimum amount of time that you want objects to stay in the cache
    // before CloudFront queries your origin to see whether the object has
    // been updated.
    MinTTL *StringExpr `json:"MinTTL,omitempty"`

    // Indicates whether to use the origin that is associated with this cache
    // behavior to distribute media files in the Microsoft Smooth Streaming
    // format.
    SmoothStreaming *BoolExpr `json:"SmoothStreaming,omitempty"`

    // The value of ID for the origin that CloudFront routes requests to when
    // the default cache behavior is applied to a request.
    TargetOriginId *StringExpr `json:"TargetOriginId,omitempty"`

    // A list of AWS accounts that can create signed URLs in order to access
    // private content.
    TrustedSigners *StringListExpr `json:"TrustedSigners,omitempty"`

    // The protocol that users can use to access the files in the origin that
    // you specified in the TargetOriginId property when the default cache
    // behavior is applied to a request. For more information about the valid
    // values, see the ViewerProtocolPolicy content for the
    // DefaultCacheBehavior data type in the Amazon CloudFront API Reference.
    ViewerProtocolPolicy *StringExpr `json:"ViewerProtocolPolicy,omitempty"`
}

CloudFrontDefaultCacheBehavior represents CloudFront DefaultCacheBehavior

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html

type CloudFrontDefaultCacheBehaviorList Uses

type CloudFrontDefaultCacheBehaviorList []CloudFrontDefaultCacheBehavior

CloudFrontDefaultCacheBehaviorList represents a list of CloudFrontDefaultCacheBehavior

func (*CloudFrontDefaultCacheBehaviorList) UnmarshalJSON Uses

func (l *CloudFrontDefaultCacheBehaviorList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistribution Uses

type CloudFrontDistribution struct {
    // The distribution's configuration information.
    DistributionConfig *CloudFrontDistributionConfig `json:"DistributionConfig,omitempty"`
}

CloudFrontDistribution represents AWS::CloudFront::Distribution

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution.html

func (CloudFrontDistribution) CfnResourceType Uses

func (s CloudFrontDistribution) CfnResourceType() string

CfnResourceType returns AWS::CloudFront::Distribution to implement the ResourceProperties interface

type CloudFrontDistributionConfig Uses

type CloudFrontDistributionConfig struct {
    // CNAMEs (alternate domain names), if any, for the distribution.
    Aliases *StringListExpr `json:"Aliases,omitempty"`

    // A list of CacheBehavior types for the distribution.
    CacheBehaviors *CloudFrontDistributionConfigCacheBehaviorList `json:"CacheBehaviors,omitempty"`

    // Any comments that you want to include about the distribution.
    Comment *StringExpr `json:"Comment,omitempty"`

    // Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range
    // with custom error messages before returning the response to the
    // viewer.
    CustomErrorResponses *CloudFrontDistributionConfigCustomErrorResponseList `json:"CustomErrorResponses,omitempty"`

    // The default cache behavior that is triggered if you do not specify the
    // CacheBehavior property or if files don't match any of the values of
    // PathPattern in the CacheBehavior property.
    DefaultCacheBehavior *CloudFrontDefaultCacheBehavior `json:"DefaultCacheBehavior,omitempty"`

    // The object (such as index.html) that you want CloudFront to request
    // from your origin when the root URL for your distribution (such as
    // http://example.com/) is requested.
    DefaultRootObject *StringExpr `json:"DefaultRootObject,omitempty"`

    // Controls whether the distribution is enabled to accept end user
    // requests for content.
    Enabled *BoolExpr `json:"Enabled,omitempty"`

    // The latest HTTP version that viewers can use to communicate with
    // CloudFront. Viewers that don't support the latest version
    // automatically use an earlier HTTP version. By default, AWS
    // CloudFormation specifies http1.1.
    HttpVersion *StringExpr `json:"HttpVersion,omitempty"`

    // Controls whether access logs are written for the distribution. To turn
    // on access logs, specify this property.
    Logging *CloudFrontLogging `json:"Logging,omitempty"`

    // A list of origins for this CloudFront distribution. For each origin,
    // you can specify whether it is an Amazon S3 or custom origin.
    Origins *CloudFrontDistributionConfigOriginList `json:"Origins,omitempty"`

    // The price class that corresponds with the maximum price that you want
    // to pay for the CloudFront service. For more information, see Choosing
    // the Price Class in the Amazon CloudFront Developer Guide.
    PriceClass *StringExpr `json:"PriceClass,omitempty"`

    // Specifies restrictions on who or how viewers can access your content.
    Restrictions *CloudFrontDistributionConfigurationRestrictions `json:"Restrictions,omitempty"`

    // The certificate to use when viewers use HTTPS to request objects.
    ViewerCertificate *CloudFrontDistributionConfigurationViewerCertificate `json:"ViewerCertificate,omitempty"`

    // The AWS WAF web ACL to associate with this distribution. AWS WAF is a
    // web application firewall that enables you to monitor the HTTP and
    // HTTPS requests that are forwarded to CloudFront and to control who can
    // access your content. CloudFront permits or forbids requests based on
    // conditions that you specify, such as the IP addresses from which
    // requests originate or the values of query strings.
    WebACLId *StringExpr `json:"WebACLId,omitempty"`
}

CloudFrontDistributionConfig represents CloudFront DistributionConfig

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html

type CloudFrontDistributionConfigCacheBehavior Uses

type CloudFrontDistributionConfigCacheBehavior struct {
    // HTTP methods that CloudFront processes and forwards to your Amazon S3
    // bucket or your custom origin. You can specify ["HEAD", "GET"], ["GET",
    // "HEAD", "OPTIONS"], or ["DELETE", "GET", "HEAD", "OPTIONS", "PATCH",
    // "POST", "PUT"]. If you don't specify a value, AWS CloudFormation
    // specifies ["HEAD", "GET"].
    AllowedMethods *StringListExpr `json:"AllowedMethods,omitempty"`

    // HTTP methods for which CloudFront caches responses. You can specify
    // ["HEAD", "GET"] or ["GET", "HEAD", "OPTIONS"]. If you don't specify a
    // value, AWS CloudFormation specifies ["HEAD", "GET"].
    CachedMethods *StringListExpr `json:"CachedMethods,omitempty"`

    // Indicates whether CloudFront automatically compresses certain files
    // for this cache behavior. For more information, see Serving Compressed
    // Files in the Amazon CloudFront Developer Guide.
    Compress *BoolExpr `json:"Compress,omitempty"`

    // The default time in seconds that objects stay in CloudFront caches
    // before CloudFront forwards another request to your custom origin to
    // determine whether the object has been updated. This value applies only
    // when your custom origin does not add HTTP headers, such as
    // Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
    DefaultTTL *IntegerExpr `json:"DefaultTTL,omitempty"`

    // Specifies how CloudFront handles query strings or cookies.
    ForwardedValues *CloudFrontForwardedValues `json:"ForwardedValues,omitempty"`

    // The maximum time in seconds that objects stay in CloudFront caches
    // before CloudFront forwards another request to your custom origin to
    // determine whether the object has been updated. This value applies only
    // when your custom origin does not add HTTP headers, such as
    // Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
    MaxTTL *IntegerExpr `json:"MaxTTL,omitempty"`

    // The minimum amount of time that you want objects to stay in the cache
    // before CloudFront queries your origin to see whether the object has
    // been updated.
    MinTTL *IntegerExpr `json:"MinTTL,omitempty"`

    // The pattern to which this cache behavior applies. For example, you can
    // specify images/*.jpg.
    PathPattern *StringExpr `json:"PathPattern,omitempty"`

    // Indicates whether to use the origin that is associated with this cache
    // behavior to distribute media files in the Microsoft Smooth Streaming
    // format. If you specify true, you can still use this cache behavior to
    // distribute other content if the content matches the PathPattern value.
    SmoothStreaming *BoolExpr `json:"SmoothStreaming,omitempty"`

    // The ID value of the origin to which you want CloudFront to route
    // requests when a request matches the value of the PathPattern property.
    TargetOriginId *StringExpr `json:"TargetOriginId,omitempty"`

    // A list of AWS accounts that can create signed URLs in order to access
    // private content.
    TrustedSigners *StringListExpr `json:"TrustedSigners,omitempty"`

    // The protocol that users can use to access the files in the origin that
    // you specified in the TargetOriginId property when a request matches
    // the value of the PathPattern property. For more information about the
    // valid values, see the ViewerProtocolPolicy content for the
    // CacheBehavior data type in the Amazon CloudFront API Reference.
    ViewerProtocolPolicy *StringExpr `json:"ViewerProtocolPolicy,omitempty"`
}

CloudFrontDistributionConfigCacheBehavior represents CloudFront DistributionConfig CacheBehavior

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html

type CloudFrontDistributionConfigCacheBehaviorList Uses

type CloudFrontDistributionConfigCacheBehaviorList []CloudFrontDistributionConfigCacheBehavior

CloudFrontDistributionConfigCacheBehaviorList represents a list of CloudFrontDistributionConfigCacheBehavior

func (*CloudFrontDistributionConfigCacheBehaviorList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigCacheBehaviorList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigCustomErrorResponse Uses

type CloudFrontDistributionConfigCustomErrorResponse struct {
    // The minimum amount of time, in seconds, that Amazon CloudFront caches
    // the HTTP status code that you specified in the ErrorCode property. The
    // default value is 300.
    ErrorCachingMinTTL *IntegerExpr `json:"ErrorCachingMinTTL,omitempty"`

    // An HTTP status code for which you want to specify a custom error page.
    // You can specify 400, 403, 404, 405, 414, 500, 501, 502, 503, or 504.
    ErrorCode *IntegerExpr `json:"ErrorCode,omitempty"`

    // The HTTP status code that CloudFront returns to viewer along with the
    // custom error page. You can specify 200, 400, 403, 404, 405, 414, 500,
    // 501, 502, 503, or 504.
    ResponseCode *IntegerExpr `json:"ResponseCode,omitempty"`

    // The path to the custom error page that CloudFront returns to a viewer
    // when your origin returns the HTTP status code that you specified in
    // the ErrorCode property. For example, you can specify
    // /404-errors/403-forbidden.html.
    ResponsePagePath *StringExpr `json:"ResponsePagePath,omitempty"`
}

CloudFrontDistributionConfigCustomErrorResponse represents CloudFront DistributionConfig CustomErrorResponse

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html

type CloudFrontDistributionConfigCustomErrorResponseList Uses

type CloudFrontDistributionConfigCustomErrorResponseList []CloudFrontDistributionConfigCustomErrorResponse

CloudFrontDistributionConfigCustomErrorResponseList represents a list of CloudFrontDistributionConfigCustomErrorResponse

func (*CloudFrontDistributionConfigCustomErrorResponseList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigCustomErrorResponseList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigList Uses

type CloudFrontDistributionConfigList []CloudFrontDistributionConfig

CloudFrontDistributionConfigList represents a list of CloudFrontDistributionConfig

func (*CloudFrontDistributionConfigList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigOrigin Uses

type CloudFrontDistributionConfigOrigin struct {
    // Origin information to specify a custom origin.
    CustomOriginConfig *CloudFrontDistributionConfigOriginCustomOrigin `json:"CustomOriginConfig,omitempty"`

    // The DNS name of the Amazon Simple Storage Service (S3) bucket or the
    // HTTP server from which you want CloudFront to get objects for this
    // origin.
    DomainName *StringExpr `json:"DomainName,omitempty"`

    // An identifier for the origin. The value of Id must be unique within
    // the distribution.
    Id  *StringExpr `json:"Id,omitempty"`

    // Custom headers that CloudFront includes when it forwards a request to
    // your origin.
    OriginCustomHeaders *CloudFrontDistributionConfigOriginOriginCustomHeaderList `json:"OriginCustomHeaders,omitempty"`

    // The path that CloudFront uses to request content from an S3 bucket or
    // custom origin. The combination of the DomainName and OriginPath
    // properties must resolve to a valid path. The value must start with a
    // slash mark (/) and cannot end with a slash mark.
    OriginPath *StringExpr `json:"OriginPath,omitempty"`

    // Origin information to specify an S3 origin.
    S3OriginConfig *CloudFrontDistributionConfigOriginS3Origin `json:"S3OriginConfig,omitempty"`
}

CloudFrontDistributionConfigOrigin represents CloudFront DistributionConfig Origin

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html

type CloudFrontDistributionConfigOriginCustomOrigin Uses

type CloudFrontDistributionConfigOriginCustomOrigin struct {
    // The HTTP port the custom origin listens on.
    HTTPPort *IntegerExpr `json:"HTTPPort,omitempty"`

    // The HTTPS port the custom origin listens on.
    HTTPSPort *IntegerExpr `json:"HTTPSPort,omitempty"`

    // The origin protocol policy to apply to your origin.
    OriginProtocolPolicy *StringExpr `json:"OriginProtocolPolicy,omitempty"`

    // The SSL protocols that CloudFront can use when establishing an HTTPS
    // connection with your origin. By default, AWS CloudFormation specifies
    // the TLSv1 and SSLv3 protocols.
    OriginSSLProtocols *StringListExpr `json:"OriginSSLProtocols,omitempty"`
}

CloudFrontDistributionConfigOriginCustomOrigin represents CloudFront DistributionConfig Origin CustomOrigin

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html

type CloudFrontDistributionConfigOriginCustomOriginList Uses

type CloudFrontDistributionConfigOriginCustomOriginList []CloudFrontDistributionConfigOriginCustomOrigin

CloudFrontDistributionConfigOriginCustomOriginList represents a list of CloudFrontDistributionConfigOriginCustomOrigin

func (*CloudFrontDistributionConfigOriginCustomOriginList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigOriginCustomOriginList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigOriginList Uses

type CloudFrontDistributionConfigOriginList []CloudFrontDistributionConfigOrigin

CloudFrontDistributionConfigOriginList represents a list of CloudFrontDistributionConfigOrigin

func (*CloudFrontDistributionConfigOriginList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigOriginList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigOriginOriginCustomHeader Uses

type CloudFrontDistributionConfigOriginOriginCustomHeader struct {
    // The name of a header that CloudFront forwards to your origin. For more
    // information, see Forwarding Custom Headers to Your Origin (Web
    // Distributions Only) in the Amazon CloudFront Developer Guide.
    HeaderName *StringExpr `json:"HeaderName,omitempty"`

    // The value for the header that you specified in the HeaderName
    // property.
    HeaderValue *StringExpr `json:"HeaderValue,omitempty"`
}

CloudFrontDistributionConfigOriginOriginCustomHeader represents CloudFront DistributionConfig Origin OriginCustomHeader

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin-origincustomheader.html

type CloudFrontDistributionConfigOriginOriginCustomHeaderList Uses

type CloudFrontDistributionConfigOriginOriginCustomHeaderList []CloudFrontDistributionConfigOriginOriginCustomHeader

CloudFrontDistributionConfigOriginOriginCustomHeaderList represents a list of CloudFrontDistributionConfigOriginOriginCustomHeader

func (*CloudFrontDistributionConfigOriginOriginCustomHeaderList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigOriginOriginCustomHeaderList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigOriginS3Origin Uses

type CloudFrontDistributionConfigOriginS3Origin struct {
    // The CloudFront origin access identity to associate with the origin.
    // This is used to configure the origin so that end users can access
    // objects in an Amazon S3 bucket through CloudFront only.
    OriginAccessIdentity *StringExpr `json:"OriginAccessIdentity,omitempty"`
}

CloudFrontDistributionConfigOriginS3Origin represents CloudFront DistributionConfig Origin S3Origin

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-s3origin.html

type CloudFrontDistributionConfigOriginS3OriginList Uses

type CloudFrontDistributionConfigOriginS3OriginList []CloudFrontDistributionConfigOriginS3Origin

CloudFrontDistributionConfigOriginS3OriginList represents a list of CloudFrontDistributionConfigOriginS3Origin

func (*CloudFrontDistributionConfigOriginS3OriginList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigOriginS3OriginList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigRestrictionsGeoRestriction Uses

type CloudFrontDistributionConfigRestrictionsGeoRestriction struct {
    // The two-letter, uppercase country code for a country that you want to
    // include in your blacklist or whitelist.
    Locations *StringListExpr `json:"Locations,omitempty"`

    // The method to restrict distribution of your content:
    RestrictionType *StringExpr `json:"RestrictionType,omitempty"`

    // Prevents viewers in the countries that you specified from accessing
    // your content.
    Blacklist interface{} `json:"blacklist,omitempty"`

    // Allows viewers in the countries that you specified to access your
    // content.
    Whitelist interface{} `json:"whitelist,omitempty"`

    // No distribution restrictions by country.
    None interface{} `json:"none,omitempty"`
}

CloudFrontDistributionConfigRestrictionsGeoRestriction represents CloudFront DistributionConfig Restrictions GeoRestriction

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html

type CloudFrontDistributionConfigRestrictionsGeoRestrictionList Uses

type CloudFrontDistributionConfigRestrictionsGeoRestrictionList []CloudFrontDistributionConfigRestrictionsGeoRestriction

CloudFrontDistributionConfigRestrictionsGeoRestrictionList represents a list of CloudFrontDistributionConfigRestrictionsGeoRestriction

func (*CloudFrontDistributionConfigRestrictionsGeoRestrictionList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigRestrictionsGeoRestrictionList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigurationRestrictions Uses

type CloudFrontDistributionConfigurationRestrictions struct {
    // The countries in which viewers are able to access your content.
    GeoRestriction *CloudFrontDistributionConfigRestrictionsGeoRestriction `json:"GeoRestriction,omitempty"`
}

CloudFrontDistributionConfigurationRestrictions represents CloudFront DistributionConfiguration Restrictions

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions.html

type CloudFrontDistributionConfigurationRestrictionsList Uses

type CloudFrontDistributionConfigurationRestrictionsList []CloudFrontDistributionConfigurationRestrictions

CloudFrontDistributionConfigurationRestrictionsList represents a list of CloudFrontDistributionConfigurationRestrictions

func (*CloudFrontDistributionConfigurationRestrictionsList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigurationRestrictionsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontDistributionConfigurationViewerCertificate Uses

type CloudFrontDistributionConfigurationViewerCertificate struct {
    // If you're using an alternate domain name, the Amazon Resource Name
    // (ARN) of an AWS Certificate Manager (ACM) certificate. Use the ACM
    // service to provision and manage your certificates. For more
    // information, see the AWS Certificate Manager User Guide.
    AcmCertificateArn *StringExpr `json:"AcmCertificateArn,omitempty"`

    // Indicates whether to use the default certificate for your CloudFront
    // domain name when viewers use HTTPS to request your content.
    CloudFrontDefaultCertificate *BoolExpr `json:"CloudFrontDefaultCertificate,omitempty"`

    // If you're using an alternate domain name, the ID of a server
    // certificate that was purchased from a certificate authority. This ID
    // is the ServerCertificateId value, which AWS Identity and Access
    // Management (IAM) returns when the certificate is added to the IAM
    // certificate store, such as ASCACKCEVSQ6CEXAMPLE1.
    IamCertificateId *StringExpr `json:"IamCertificateId,omitempty"`

    // The minimum version of the SSL protocol that you want CloudFront to
    // use for HTTPS connections. CloudFront serves your objects only to
    // browsers or devices that support at least the SSL version that you
    // specify. For valid values, see the MinimumProtocolVersion content for
    // the ViewerCertificate data type in the Amazon CloudFront API
    // Reference.
    MinimumProtocolVersion *StringExpr `json:"MinimumProtocolVersion,omitempty"`

    // Specifies how CloudFront serves HTTPS requests. For valid values, see
    // the SslSupportMethod content for the ViewerCertificate data type in
    // the Amazon CloudFront API Reference.
    SslSupportMethod *StringExpr `json:"SslSupportMethod,omitempty"`
}

CloudFrontDistributionConfigurationViewerCertificate represents CloudFront DistributionConfiguration ViewerCertificate

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html

type CloudFrontDistributionConfigurationViewerCertificateList Uses

type CloudFrontDistributionConfigurationViewerCertificateList []CloudFrontDistributionConfigurationViewerCertificate

CloudFrontDistributionConfigurationViewerCertificateList represents a list of CloudFrontDistributionConfigurationViewerCertificate

func (*CloudFrontDistributionConfigurationViewerCertificateList) UnmarshalJSON Uses

func (l *CloudFrontDistributionConfigurationViewerCertificateList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontForwardedValues Uses

type CloudFrontForwardedValues struct {
    // Forwards specified cookies to the origin of the cache behavior. For
    // more information, see Configuring CloudFront to Cache Based on Cookies
    // in the Amazon CloudFront Developer Guide.
    Cookies *CloudFrontForwardedValuesCookies `json:"Cookies,omitempty"`

    // Specifies the headers that you want Amazon CloudFront to forward to
    // the origin for this cache behavior (whitelisted headers). For the
    // headers that you specify, Amazon CloudFront also caches separate
    // versions of a specified object that is based on the header values in
    // viewer requests.
    Headers *StringListExpr `json:"Headers,omitempty"`

    // Indicates whether you want CloudFront to forward query strings to the
    // origin that is associated with this cache behavior. If so, specify
    // true; if not, specify false. For more information, see Configuring
    // CloudFront to Cache Based on Query String Parameters in the Amazon
    // CloudFront Developer Guide.
    QueryString *BoolExpr `json:"QueryString,omitempty"`

    // If you forward query strings to the origin, specifies the query string
    // parameters that CloudFront uses to determine which content to cache.
    // For more information, see Configuring CloudFront to Cache Based on
    // Query String Parameters in the Amazon CloudFront Developer Guide.
    QueryStringCacheKeys *StringListExpr `json:"QueryStringCacheKeys,omitempty"`
}

CloudFrontForwardedValues represents CloudFront ForwardedValues

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html

type CloudFrontForwardedValuesCookies Uses

type CloudFrontForwardedValuesCookies struct {
    // The cookies to forward to the origin of the cache behavior. You can
    // specify none, all, or whitelist.
    Forward *StringExpr `json:"Forward,omitempty"`

    // The names of cookies to forward to the origin for the cache behavior.
    WhitelistedNames *StringListExpr `json:"WhitelistedNames,omitempty"`
}

CloudFrontForwardedValuesCookies represents CloudFront ForwardedValues Cookies

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html

type CloudFrontForwardedValuesCookiesList Uses

type CloudFrontForwardedValuesCookiesList []CloudFrontForwardedValuesCookies

CloudFrontForwardedValuesCookiesList represents a list of CloudFrontForwardedValuesCookies

func (*CloudFrontForwardedValuesCookiesList) UnmarshalJSON Uses

func (l *CloudFrontForwardedValuesCookiesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontForwardedValuesList Uses

type CloudFrontForwardedValuesList []CloudFrontForwardedValues

CloudFrontForwardedValuesList represents a list of CloudFrontForwardedValues

func (*CloudFrontForwardedValuesList) UnmarshalJSON Uses

func (l *CloudFrontForwardedValuesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudFrontLogging Uses

type CloudFrontLogging struct {
    // The Amazon S3 bucket address where access logs are stored, for
    // example, mybucket.s3.amazonaws.com.
    Bucket *StringExpr `json:"Bucket,omitempty"`

    // Indicates whether CloudFront includes cookies in access logs.
    IncludeCookies *BoolExpr `json:"IncludeCookies,omitempty"`

    // A prefix for the access log file names for this distribution.
    Prefix *StringExpr `json:"Prefix,omitempty"`
}

CloudFrontLogging represents CloudFront Logging

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html

type CloudFrontLoggingList Uses

type CloudFrontLoggingList []CloudFrontLogging

CloudFrontLoggingList represents a list of CloudFrontLogging

func (*CloudFrontLoggingList) UnmarshalJSON Uses

func (l *CloudFrontLoggingList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudTrailTrail Uses

type CloudTrailTrail struct {
    // The Amazon Resource Name (ARN) of a log group to which CloudTrail logs
    // will be delivered.
    CloudWatchLogsLogGroupArn *StringExpr `json:"CloudWatchLogsLogGroupArn,omitempty"`

    // The role ARN that Amazon CloudWatch Logs (CloudWatch Logs) assumes to
    // write logs to a log group. For more information, see Role Policy
    // Document for CloudTrail to Use CloudWatch Logs for Monitoring in the
    // AWS CloudTrail User Guide.
    CloudWatchLogsRoleArn *StringExpr `json:"CloudWatchLogsRoleArn,omitempty"`

    // Indicates whether CloudTrail validates the integrity of log files. By
    // default, AWS CloudFormation sets this value to false. When you disable
    // log file integrity validation, CloudTrail stops creating digest files.
    // For more information, see CreateTrail in the AWS CloudTrail API
    // Reference.
    EnableLogFileValidation *BoolExpr `json:"EnableLogFileValidation,omitempty"`

    // Indicates whether the trail is publishing events from global services,
    // such as IAM, to the log files. By default, AWS CloudFormation sets
    // this value to false.
    IncludeGlobalServiceEvents *BoolExpr `json:"IncludeGlobalServiceEvents,omitempty"`

    // Indicates whether the CloudTrail trail is currently logging AWS API
    // calls.
    IsLogging *BoolExpr `json:"IsLogging,omitempty"`

    // Indicates whether the CloudTrail trail is created in the region in
    // which you create the stack (false) or in all regions (true). By
    // default, AWS CloudFormation sets this value to false. For more
    // information, see How Does CloudTrail Behave Regionally and Globally?
    // in the AWS CloudTrail User Guide.
    IsMultiRegionTrail *BoolExpr `json:"IsMultiRegionTrail,omitempty"`

    // The AWS Key Management Service (AWS KMS) key ID that you want to use
    // to encrypt CloudTrail logs. You can specify an alias name (prefixed
    // with alias/), an alias ARN, a key ARN, or a globally unique
    // identifier.
    KMSKeyId *StringExpr `json:"KMSKeyId,omitempty"`

    // The name of the Amazon S3 bucket where CloudTrail publishes log files.
    S3BucketName *StringExpr `json:"S3BucketName,omitempty"`

    // An Amazon S3 object key prefix that precedes the name of all log
    // files.
    S3KeyPrefix *StringExpr `json:"S3KeyPrefix,omitempty"`

    // The name of an Amazon SNS topic that is notified when new log files
    // are published.
    SnsTopicName *StringExpr `json:"SnsTopicName,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this trail.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

CloudTrailTrail represents AWS::CloudTrail::Trail

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html

func (CloudTrailTrail) CfnResourceType Uses

func (s CloudTrailTrail) CfnResourceType() string

CfnResourceType returns AWS::CloudTrail::Trail to implement the ResourceProperties interface

type CloudWatchAlarm Uses

type CloudWatchAlarm struct {
    // Indicates whether or not actions should be executed during any changes
    // to the alarm's state.
    ActionsEnabled *BoolExpr `json:"ActionsEnabled,omitempty"`

    // The list of actions to execute when this alarm transitions into an
    // ALARM state from any other state. Each action is specified as an
    // Amazon Resource Number (ARN). For more information about creating
    // alarms and the actions you can specify, see Creating Amazon CloudWatch
    // Alarms in the Amazon CloudWatch User Guide.
    AlarmActions *StringListExpr `json:"AlarmActions,omitempty"`

    // The description for the alarm.
    AlarmDescription *StringExpr `json:"AlarmDescription,omitempty"`

    // A name for the alarm. If you don't specify a name, AWS CloudFormation
    // generates a unique physical ID and uses that ID for the alarm name.
    // For more information, see Name Type.
    AlarmName *StringExpr `json:"AlarmName,omitempty"`

    // The arithmetic operation to use when comparing the specified Statistic
    // and Threshold. The specified Statistic value is used as the first
    // operand.
    ComparisonOperator *StringExpr `json:"ComparisonOperator,omitempty"`

    // The dimensions for the alarm's associated metric.
    Dimensions *CloudWatchMetricDimensionList `json:"Dimensions,omitempty"`

    // The number of periods over which data is compared to the specified
    // threshold.
    EvaluationPeriods *IntegerExpr `json:"EvaluationPeriods,omitempty"`

    // The list of actions to execute when this alarm transitions into an
    // INSUFFICIENT_DATA state from any other state. Each action is specified
    // as an Amazon Resource Number (ARN). Currently the only action
    // supported is publishing to an Amazon SNS topic or an Amazon Auto
    // Scaling policy.
    InsufficientDataActions *StringListExpr `json:"InsufficientDataActions,omitempty"`

    // The name for the alarm's associated metric. For more information about
    // the metrics that you can specify, see Amazon CloudWatch Namespaces,
    // Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.
    MetricName *StringExpr `json:"MetricName,omitempty"`

    // The namespace for the alarm's associated metric.
    Namespace *StringExpr `json:"Namespace,omitempty"`

    // The list of actions to execute when this alarm transitions into an OK
    // state from any other state. Each action is specified as an Amazon
    // Resource Number (ARN). Currently the only action supported is
    // publishing to an Amazon SNS topic or an Amazon Auto Scaling policy.
    OKActions *StringListExpr `json:"OKActions,omitempty"`

    // The time over which the specified statistic is applied. You must
    // specify a time in seconds that is also a multiple of 60.
    Period *IntegerExpr `json:"Period,omitempty"`

    // The statistic to apply to the alarm's associated metric.
    Statistic *StringExpr `json:"Statistic,omitempty"`

    // The value against which the specified statistic is compared.
    Threshold interface{} `json:"Threshold,omitempty"`

    // The unit for the alarm's associated metric.
    Unit *StringExpr `json:"Unit,omitempty"`
}

CloudWatchAlarm represents AWS::CloudWatch::Alarm

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html

func (CloudWatchAlarm) CfnResourceType Uses

func (s CloudWatchAlarm) CfnResourceType() string

CfnResourceType returns AWS::CloudWatch::Alarm to implement the ResourceProperties interface

type CloudWatchEventsRuleTarget Uses

type CloudWatchEventsRuleTarget struct {
    // The Amazon Resource Name (ARN) of the target.
    Arn *StringExpr `json:"Arn,omitempty"`

    // A unique, user-defined identifier for the target. Acceptable values
    // include alphanumeric characters, periods (.), hypens (-), and
    // underscores (_).
    Id  *StringExpr `json:"Id,omitempty"`

    // A JSON-formatted text string that is passed to the target. This value
    // overrides the matched event.
    Input *StringExpr `json:"Input,omitempty"`

    // When you don't want to pass the entire matched event, the JSONPath
    // that describes which part of the event to pass to the target.
    InputPath *StringExpr `json:"InputPath,omitempty"`
}

CloudWatchEventsRuleTarget represents Amazon CloudWatch Events Rule Target

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html

type CloudWatchEventsRuleTargetList Uses

type CloudWatchEventsRuleTargetList []CloudWatchEventsRuleTarget

CloudWatchEventsRuleTargetList represents a list of CloudWatchEventsRuleTarget

func (*CloudWatchEventsRuleTargetList) UnmarshalJSON Uses

func (l *CloudWatchEventsRuleTargetList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudWatchLogsMetricFilterMetricTransformationProperty Uses

type CloudWatchLogsMetricFilterMetricTransformationProperty struct {
    // The name of the CloudWatch metric to which the log information will be
    // published.
    MetricName *StringExpr `json:"MetricName,omitempty"`

    // The destination namespace of the CloudWatch metric. Namespaces are
    // containers for metrics. For example, you can add related metrics in
    // the same namespace.
    MetricNamespace *StringExpr `json:"MetricNamespace,omitempty"`

    // The value that is published to the CloudWatch metric. For example, if
    // you're counting the occurrences of a particular term like Error,
    // specify 1 for the metric value. If you're counting the number of bytes
    // transferred, reference the value that is in the log event by using $
    // followed by the name of the field that you specified in the filter
    // pattern, such as $size.
    MetricValue *StringExpr `json:"MetricValue,omitempty"`
}

CloudWatchLogsMetricFilterMetricTransformationProperty represents CloudWatch Logs MetricFilter MetricTransformation Property

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html

type CloudWatchLogsMetricFilterMetricTransformationPropertyList Uses

type CloudWatchLogsMetricFilterMetricTransformationPropertyList []CloudWatchLogsMetricFilterMetricTransformationProperty

CloudWatchLogsMetricFilterMetricTransformationPropertyList represents a list of CloudWatchLogsMetricFilterMetricTransformationProperty

func (*CloudWatchLogsMetricFilterMetricTransformationPropertyList) UnmarshalJSON Uses

func (l *CloudWatchLogsMetricFilterMetricTransformationPropertyList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CloudWatchMetricDimension Uses

type CloudWatchMetricDimension struct {
    // The name of the dimension, from 1–255 characters in length.
    Name *StringExpr `json:"Name,omitempty"`

    // The value representing the dimension measurement, from 1–255
    // characters in length.
    Value *StringExpr `json:"Value,omitempty"`
}

CloudWatchMetricDimension represents CloudWatch Metric Dimension Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html

type CloudWatchMetricDimensionList Uses

type CloudWatchMetricDimensionList []CloudWatchMetricDimension

CloudWatchMetricDimensionList represents a list of CloudWatchMetricDimension

func (*CloudWatchMetricDimensionList) UnmarshalJSON Uses

func (l *CloudWatchMetricDimensionList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeBuildProject Uses

type CodeBuildProject struct {
    // The output settings for artifacts that the project generates during a
    // build.
    Artifacts *CodeBuildProjectArtifacts `json:"Artifacts,omitempty"`

    // A description of the project. Use the description to identify the
    // purpose of the project.
    Description *StringExpr `json:"Description,omitempty"`

    // The alias or Amazon Resource Name (ARN) of the AWS Key Management
    // Service (AWS KMS) customer master key (CMK) that AWS CodeBuild uses to
    // encrypt the build output. If you don't specify a value, AWS CodeBuild
    // uses the AWS-managed CMK for Amazon Simple Storage Service.
    EncryptionKey *StringExpr `json:"EncryptionKey,omitempty"`

    // The build environment settings for the project, such as the
    // environment type or the environment variables to use for the build
    // environment.
    Environment *CodeBuildProjectEnvironment `json:"Environment,omitempty"`

    // A name for the project. The name must be unique across all of the
    // projects in your AWS account.
    Name *StringExpr `json:"Name,omitempty"`

    // The ARN of the service role that AWS CodeBuild uses to interact with
    // services on your behalf.
    ServiceRole *StringExpr `json:"ServiceRole,omitempty"`

    // The source code settings for the project, such as the source code's
    // repository type and location.
    Source *CodeBuildProjectSource `json:"Source,omitempty"`

    // An arbitrary set of tags (key-value pairs) for the AWS CodeBuild
    // project.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The number of minutes after which AWS CodeBuild stops the build if
    // it's not complete. For valid values, see the timeoutInMinutes field in
    // the AWS CodeBuild User Guide.
    TimeoutInMinutes *IntegerExpr `json:"TimeoutInMinutes,omitempty"`
}

CodeBuildProject represents AWS::CodeBuild::Project

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html

func (CodeBuildProject) CfnResourceType Uses

func (s CodeBuildProject) CfnResourceType() string

CfnResourceType returns AWS::CodeBuild::Project to implement the ResourceProperties interface

type CodeBuildProjectArtifacts Uses

type CodeBuildProjectArtifacts struct {
    // The location where AWS CodeBuild saves the build output artifacts. For
    // valid values, see the artifacts-location field in the AWS CodeBuild
    // User Guide.
    Location *StringExpr `json:"Location,omitempty"`

    // The name of the build output folder where AWS CodeBuild saves the
    // build output artifacts. For .zip packages, the name of the build
    // output .zip file that contains the build output artifacts.
    Name *StringExpr `json:"Name,omitempty"`

    // The information AWS CodeBuild adds to the build output path, such as a
    // build ID. For more information, see the namespaceType field in the AWS
    // CodeBuild User Guide.
    NamespaceType *StringExpr `json:"NamespaceType,omitempty"`

    // Indicates how AWS CodeBuild packages the build output artifacts. For
    // valid values, see the packaging field in the AWS CodeBuild User Guide.
    Packaging *StringExpr `json:"Packaging,omitempty"`

    // The path to the build output folder where AWS CodeBuild saves the
    // build output artifacts.
    Path *StringExpr `json:"Path,omitempty"`

    // The type of build output artifact. For valid values, see the
    // artifacts-type field in the AWS CodeBuild User Guide.
    Type *StringExpr `json:"Type,omitempty"`
}

CodeBuildProjectArtifacts represents AWS CodeBuild Project Artifacts

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html

type CodeBuildProjectArtifactsList Uses

type CodeBuildProjectArtifactsList []CodeBuildProjectArtifacts

CodeBuildProjectArtifactsList represents a list of CodeBuildProjectArtifacts

func (*CodeBuildProjectArtifactsList) UnmarshalJSON Uses

func (l *CodeBuildProjectArtifactsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeBuildProjectEnvironment Uses

type CodeBuildProjectEnvironment struct {
    // The type of compute environment, such as BUILD_GENERAL1_SMALL. The
    // compute type determines the number of CPU cores and memory the build
    // environment uses. For valid values, see the computeType field in the
    // AWS CodeBuild User Guide.
    ComputeType *StringExpr `json:"ComputeType,omitempty"`

    // The environment variables that your builds can use. For more
    // information, see the environmentVariables field in the AWS CodeBuild
    // User Guide.
    EnvironmentVariables *CodeBuildProjectEnvironmentEnvironmentVariablesList `json:"EnvironmentVariables,omitempty"`

    // The Docker image identifier that the build environment uses. For more
    // information, see the image field in the AWS CodeBuild User Guide.
    Image *StringExpr `json:"Image,omitempty"`

    // The type of build environment. For valid values, see the
    // environment-type field in the AWS CodeBuild User Guide.
    Type *StringExpr `json:"Type,omitempty"`
}

CodeBuildProjectEnvironment represents AWS CodeBuild Project Environment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html

type CodeBuildProjectEnvironmentEnvironmentVariables Uses

type CodeBuildProjectEnvironmentEnvironmentVariables struct {
    // The name of an environment variable.
    Name *StringExpr `json:"Name,omitempty"`

    // The value of the environment variable.
    Value *StringExpr `json:"Value,omitempty"`
}

CodeBuildProjectEnvironmentEnvironmentVariables represents AWS CodeBuild Project Environment EnvironmentVariables

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment-environmentvariables.html

type CodeBuildProjectEnvironmentEnvironmentVariablesList Uses

type CodeBuildProjectEnvironmentEnvironmentVariablesList []CodeBuildProjectEnvironmentEnvironmentVariables

CodeBuildProjectEnvironmentEnvironmentVariablesList represents a list of CodeBuildProjectEnvironmentEnvironmentVariables

func (*CodeBuildProjectEnvironmentEnvironmentVariablesList) UnmarshalJSON Uses

func (l *CodeBuildProjectEnvironmentEnvironmentVariablesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeBuildProjectEnvironmentList Uses

type CodeBuildProjectEnvironmentList []CodeBuildProjectEnvironment

CodeBuildProjectEnvironmentList represents a list of CodeBuildProjectEnvironment

func (*CodeBuildProjectEnvironmentList) UnmarshalJSON Uses

func (l *CodeBuildProjectEnvironmentList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeBuildProjectSource Uses

type CodeBuildProjectSource struct {
    // The build specification, specified as a single string. For more
    // information, see the Build Spec Reference in the AWS CodeBuild User
    // Guide.
    BuildSpec *StringExpr `json:"BuildSpec,omitempty"`

    // The location of the source code in the specified repository type. For
    // more information, see the source-location field in the AWS CodeBuild
    // User Guide.
    Location *StringExpr `json:"Location,omitempty"`

    // The type of repository that contains your source code. For valid
    // values, see the source-type field in the AWS CodeBuild User Guide.
    Type *StringExpr `json:"Type,omitempty"`
}

CodeBuildProjectSource represents AWS CodeBuild Project Source

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html

type CodeBuildProjectSourceList Uses

type CodeBuildProjectSourceList []CodeBuildProjectSource

CodeBuildProjectSourceList represents a list of CodeBuildProjectSource

func (*CodeBuildProjectSourceList) UnmarshalJSON Uses

func (l *CodeBuildProjectSourceList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeCommitRepository Uses

type CodeCommitRepository struct {
    // A description about the AWS CodeCommit repository. For constraints,
    // see the CreateRepository action in the AWS CodeCommit API Reference.
    RepositoryDescription *StringExpr `json:"RepositoryDescription,omitempty"`

    // A name for the AWS CodeCommit repository.
    RepositoryName *StringExpr `json:"RepositoryName,omitempty"`

    // Defines the actions to take in response to events that occur in the
    // repository. For example, you can send email notifications when someone
    // pushes to the repository.
    Triggers *CodeCommitRepositoryTriggerList `json:"Triggers,omitempty"`
}

CodeCommitRepository represents AWS::CodeCommit::Repository

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html

func (CodeCommitRepository) CfnResourceType Uses

func (s CodeCommitRepository) CfnResourceType() string

CfnResourceType returns AWS::CodeCommit::Repository to implement the ResourceProperties interface

type CodeCommitRepositoryTrigger Uses

type CodeCommitRepositoryTrigger struct {
    // The names of the branches in the AWS CodeCommit repository that
    // contain events that you want to include in the trigger. If you don't
    // specify at least one branch, the trigger applies to all branches.
    Branches *StringListExpr `json:"Branches,omitempty"`

    // When an event is triggered, additional information that AWS CodeCommit
    // includes when it sends information to the target.
    CustomData *StringExpr `json:"CustomData,omitempty"`

    // The Amazon Resource Name (ARN) of the resource that is the target for
    // this trigger. For valid targets, see Manage Triggers for an AWS
    // CodeCommit Repository in the AWS CodeCommit User Guide.
    DestinationArn *StringExpr `json:"DestinationArn,omitempty"`

    // The repository events for which AWS CodeCommit sends information to
    // the target, which you specified in the DestinationArn property. If you
    // don't specify events, the trigger runs for all repository events. For
    // valid values, see the RepositoryTrigger data type in the AWS
    // CodeCommit API Reference.
    Events *StringListExpr `json:"Events,omitempty"`

    // A name for the trigger.
    Name *StringExpr `json:"Name,omitempty"`
}

CodeCommitRepositoryTrigger represents AWS CodeCommit Repository Trigger

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-triggers.html

type CodeCommitRepositoryTriggerList Uses

type CodeCommitRepositoryTriggerList []CodeCommitRepositoryTrigger

CodeCommitRepositoryTriggerList represents a list of CodeCommitRepositoryTrigger

func (*CodeCommitRepositoryTriggerList) UnmarshalJSON Uses

func (l *CodeCommitRepositoryTriggerList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployApplication Uses

type CodeDeployApplication struct {
    // A name for the application. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID and uses that ID for the
    // application name. For more information, see Name Type.
    ApplicationName *StringExpr `json:"ApplicationName,omitempty"`
}

CodeDeployApplication represents AWS::CodeDeploy::Application

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html

func (CodeDeployApplication) CfnResourceType Uses

func (s CodeDeployApplication) CfnResourceType() string

CfnResourceType returns AWS::CodeDeploy::Application to implement the ResourceProperties interface

type CodeDeployDeploymentConfig Uses

type CodeDeployDeploymentConfig struct {
    // A name for the deployment configuration. If you don't specify a name,
    // AWS CloudFormation generates a unique physical ID and uses that ID for
    // the deployment configuration name. For more information, see Name
    // Type.
    DeploymentConfigName *StringExpr `json:"DeploymentConfigName,omitempty"`

    // The minimum number of healthy instances that must be available at any
    // time during an AWS CodeDeploy deployment. For example, for a fleet of
    // nine instances, if you specify a minimum of six healthy instances, AWS
    // CodeDeploy deploys your application up to three instances at a time so
    // that you always have six healthy instances. The deployment succeeds if
    // your application successfully deploys to six or more instances;
    // otherwise, the deployment fails.
    MinimumHealthyHosts *CodeDeployDeploymentConfigMinimumHealthyHosts `json:"MinimumHealthyHosts,omitempty"`
}

CodeDeployDeploymentConfig represents AWS::CodeDeploy::DeploymentConfig

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html

func (CodeDeployDeploymentConfig) CfnResourceType Uses

func (s CodeDeployDeploymentConfig) CfnResourceType() string

CfnResourceType returns AWS::CodeDeploy::DeploymentConfig to implement the ResourceProperties interface

type CodeDeployDeploymentConfigMinimumHealthyHosts Uses

type CodeDeployDeploymentConfigMinimumHealthyHosts struct {
    // The type of count to use, such as an absolute value or a percentage of
    // the total number of instances in the deployment. For valid values, see
    // MinimumHealthyHosts in the AWS CodeDeploy API Reference.
    Type *StringExpr `json:"Type,omitempty"`

    // The minimum number of healthy instances.
    Value *IntegerExpr `json:"Value,omitempty"`
}

CodeDeployDeploymentConfigMinimumHealthyHosts represents AWS CodeDeploy DeploymentConfig MinimumHealthyHosts

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html

type CodeDeployDeploymentConfigMinimumHealthyHostsList Uses

type CodeDeployDeploymentConfigMinimumHealthyHostsList []CodeDeployDeploymentConfigMinimumHealthyHosts

CodeDeployDeploymentConfigMinimumHealthyHostsList represents a list of CodeDeployDeploymentConfigMinimumHealthyHosts

func (*CodeDeployDeploymentConfigMinimumHealthyHostsList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentConfigMinimumHealthyHostsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployDeploymentGroup Uses

type CodeDeployDeploymentGroup struct {
    // The name of an AWS CodeDeploy application for this deployment group.
    ApplicationName *StringExpr `json:"ApplicationName,omitempty"`

    // A list of associated Auto Scaling groups that AWS CodeDeploy
    // automatically deploys revisions to when new instances are created.
    AutoScalingGroups *StringListExpr `json:"AutoScalingGroups,omitempty"`

    // The application revision that will be deployed to this deployment
    // group.
    Deployment *CodeDeployDeploymentGroupDeployment `json:"Deployment,omitempty"`

    // A deployment configuration name or a predefined configuration name.
    // With predefined configurations, you can deploy application revisions
    // to one instance at a time, half of the instances at a time, or all the
    // instances at once. For more information and valid values, see the
    // DeploymentConfigName parameter for the CreateDeploymentGroup action in
    // the AWS CodeDeploy API Reference.
    DeploymentConfigName *StringExpr `json:"DeploymentConfigName,omitempty"`

    // A name for the deployment group. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID and uses that ID for the
    // deployment group name. For more information, see Name Type.
    DeploymentGroupName *StringExpr `json:"DeploymentGroupName,omitempty"`

    // The Amazon EC2 tags to filter on. AWS CodeDeploy includes all
    // instances that match the tag filter with this deployment group.
    Ec2TagFilters *CodeDeployDeploymentGroupEc2TagFiltersList `json:"Ec2TagFilters,omitempty"`

    // The on-premises instance tags to filter on. AWS CodeDeploy includes
    // all on-premises instances that match the tag filter with this
    // deployment group. To register on-premises instances with AWS
    // CodeDeploy, see Configure Existing On-Premises Instances by Using AWS
    // CodeDeploy in the AWS CodeDeploy User Guide.
    OnPremisesInstanceTagFilters *CodeDeployDeploymentGroupOnPremisesInstanceTagFiltersList `json:"OnPremisesInstanceTagFilters,omitempty"`

    // A service role Amazon Resource Name (ARN) that grants AWS CodeDeploy
    // permission to make calls to AWS services on your behalf. For more
    // information, see Create a Service Role for AWS CodeDeploy in the AWS
    // CodeDeploy User Guide.
    ServiceRoleArn *StringExpr `json:"ServiceRoleArn,omitempty"`
}

CodeDeployDeploymentGroup represents AWS::CodeDeploy::DeploymentGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html

func (CodeDeployDeploymentGroup) CfnResourceType Uses

func (s CodeDeployDeploymentGroup) CfnResourceType() string

CfnResourceType returns AWS::CodeDeploy::DeploymentGroup to implement the ResourceProperties interface

type CodeDeployDeploymentGroupDeployment Uses

type CodeDeployDeploymentGroupDeployment struct {
    // A description about this deployment.
    Description *StringExpr `json:"Description,omitempty"`

    // Whether to continue the deployment if the ApplicationStop deployment
    // lifecycle event fails. If you want AWS CodeDeploy to continue the
    // deployment lifecycle even if the ApplicationStop event fails on an
    // instance, specify true. The deployment continues to the BeforeInstall
    // deployment lifecycle event. If you want AWS CodeDeploy to stop
    // deployment on the instance if the ApplicationStop event fails, specify
    // false or do not specify a value.
    IgnoreApplicationStopFailures *BoolExpr `json:"IgnoreApplicationStopFailures,omitempty"`

    // The location of the application revision to deploy.
    Revision *CodeDeployDeploymentGroupDeploymentRevision `json:"Revision,omitempty"`
}

CodeDeployDeploymentGroupDeployment represents AWS CodeDeploy DeploymentGroup Deployment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html

type CodeDeployDeploymentGroupDeploymentList Uses

type CodeDeployDeploymentGroupDeploymentList []CodeDeployDeploymentGroupDeployment

CodeDeployDeploymentGroupDeploymentList represents a list of CodeDeployDeploymentGroupDeployment

func (*CodeDeployDeploymentGroupDeploymentList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentGroupDeploymentList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployDeploymentGroupDeploymentRevision Uses

type CodeDeployDeploymentGroupDeploymentRevision struct {
    // If your application revision is stored in GitHub, information about
    // the location where it is stored.
    GitHubLocation *CodeDeployDeploymentGroupDeploymentRevisionGitHubLocation `json:"GitHubLocation,omitempty"`

    // The application revision's location, such as in an S3 bucket or GitHub
    // repository. For valid values, see RevisionLocation in the AWS
    // CodeDeploy API Reference.
    RevisionType *StringExpr `json:"RevisionType,omitempty"`

    // If the application revision is stored in an S3 bucket, information
    // about the location.
    S3Location *CodeDeployDeploymentGroupDeploymentRevisionS3Location `json:"S3Location,omitempty"`
}

CodeDeployDeploymentGroupDeploymentRevision represents AWS CodeDeploy DeploymentGroup Deployment Revision

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html

type CodeDeployDeploymentGroupDeploymentRevisionGitHubLocation Uses

type CodeDeployDeploymentGroupDeploymentRevisionGitHubLocation struct {
    // The SHA1 commit ID of the GitHub commit to use as your application
    // revision.
    CommitId *StringExpr `json:"CommitId,omitempty"`

    // The GitHub account and repository name that includes the application
    // revision. Specify the value as account/repository_name.
    Repository *StringExpr `json:"Repository,omitempty"`
}

CodeDeployDeploymentGroupDeploymentRevisionGitHubLocation represents AWS CodeDeploy DeploymentGroup Deployment Revision GitHubLocation

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html

type CodeDeployDeploymentGroupDeploymentRevisionGitHubLocationList Uses

type CodeDeployDeploymentGroupDeploymentRevisionGitHubLocationList []CodeDeployDeploymentGroupDeploymentRevisionGitHubLocation

CodeDeployDeploymentGroupDeploymentRevisionGitHubLocationList represents a list of CodeDeployDeploymentGroupDeploymentRevisionGitHubLocation

func (*CodeDeployDeploymentGroupDeploymentRevisionGitHubLocationList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentGroupDeploymentRevisionGitHubLocationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployDeploymentGroupDeploymentRevisionList Uses

type CodeDeployDeploymentGroupDeploymentRevisionList []CodeDeployDeploymentGroupDeploymentRevision

CodeDeployDeploymentGroupDeploymentRevisionList represents a list of CodeDeployDeploymentGroupDeploymentRevision

func (*CodeDeployDeploymentGroupDeploymentRevisionList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentGroupDeploymentRevisionList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployDeploymentGroupDeploymentRevisionS3Location Uses

type CodeDeployDeploymentGroupDeploymentRevisionS3Location struct {
    // The name of the S3 bucket where the application revision is stored.
    Bucket *StringExpr `json:"Bucket,omitempty"`

    // The file type of the application revision, such as tar, tgz, or zip.
    // For valid values, see S3Location in the AWS CodeDeploy API Reference.
    BundleType *StringExpr `json:"BundleType,omitempty"`

    // The Amazon S3 ETag (a file checksum) of the application revision. If
    // you don't specify a value, AWS CodeDeploy skips the ETag validation of
    // your application revision.
    ETag *StringExpr `json:"ETag,omitempty"`

    // The file name of the application revision (Amazon S3 object name).
    Key *StringExpr `json:"Key,omitempty"`

    // For versioning-enabled buckets, a specific version of the application
    // revision.
    Version *StringExpr `json:"Version,omitempty"`
}

CodeDeployDeploymentGroupDeploymentRevisionS3Location represents AWS CodeDeploy DeploymentGroup Deployment Revision S3Location

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html

type CodeDeployDeploymentGroupDeploymentRevisionS3LocationList Uses

type CodeDeployDeploymentGroupDeploymentRevisionS3LocationList []CodeDeployDeploymentGroupDeploymentRevisionS3Location

CodeDeployDeploymentGroupDeploymentRevisionS3LocationList represents a list of CodeDeployDeploymentGroupDeploymentRevisionS3Location

func (*CodeDeployDeploymentGroupDeploymentRevisionS3LocationList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentGroupDeploymentRevisionS3LocationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployDeploymentGroupEc2TagFilters Uses

type CodeDeployDeploymentGroupEc2TagFilters struct {
    // Filter instances with this key.
    Key *StringExpr `json:"Key,omitempty"`

    // The filter type. For example, you can filter instances by the key, tag
    // value, or both. For valid values, see EC2TagFilter in the AWS
    // CodeDeploy API Reference.
    Type *StringExpr `json:"Type,omitempty"`

    // Filter instances with this tag value.
    Value *StringExpr `json:"Value,omitempty"`
}

CodeDeployDeploymentGroupEc2TagFilters represents AWS CodeDeploy DeploymentGroup Ec2TagFilters

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html

type CodeDeployDeploymentGroupEc2TagFiltersList Uses

type CodeDeployDeploymentGroupEc2TagFiltersList []CodeDeployDeploymentGroupEc2TagFilters

CodeDeployDeploymentGroupEc2TagFiltersList represents a list of CodeDeployDeploymentGroupEc2TagFilters

func (*CodeDeployDeploymentGroupEc2TagFiltersList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentGroupEc2TagFiltersList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodeDeployDeploymentGroupOnPremisesInstanceTagFilters Uses

type CodeDeployDeploymentGroupOnPremisesInstanceTagFilters struct {
    // Filter on-premises instances with this key.
    Key *StringExpr `json:"Key,omitempty"`

    // The filter type. For example, you can filter on-premises instances by
    // the key, tag value, or both. For valid values, see EC2TagFilter in the
    // AWS CodeDeploy API Reference.
    Type *StringExpr `json:"Type,omitempty"`

    // Filter on-premises instances with this tag value.
    Value *StringExpr `json:"Value,omitempty"`
}

CodeDeployDeploymentGroupOnPremisesInstanceTagFilters represents AWS CodeDeploy DeploymentGroup OnPremisesInstanceTagFilters

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html

type CodeDeployDeploymentGroupOnPremisesInstanceTagFiltersList Uses

type CodeDeployDeploymentGroupOnPremisesInstanceTagFiltersList []CodeDeployDeploymentGroupOnPremisesInstanceTagFilters

CodeDeployDeploymentGroupOnPremisesInstanceTagFiltersList represents a list of CodeDeployDeploymentGroupOnPremisesInstanceTagFilters

func (*CodeDeployDeploymentGroupOnPremisesInstanceTagFiltersList) UnmarshalJSON Uses

func (l *CodeDeployDeploymentGroupOnPremisesInstanceTagFiltersList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelineCustomAction Uses

type CodePipelineCustomAction struct {
    // The category of the custom action, such as a source action or a build
    // action. For valid values, see CreateCustomActionType in the AWS
    // CodePipeline API Reference.
    Category *StringExpr `json:"Category,omitempty"`

    // The configuration properties for the custom action.
    ConfigurationProperties *CodePipelineCustomActionTypeConfigurationPropertiesList `json:"ConfigurationProperties,omitempty"`

    // The input artifact details for this custom action.
    InputArtifactDetails *CodePipelineCustomActionTypeArtifactDetails `json:"InputArtifactDetails,omitempty"`

    // The output artifact details for this custom action.
    OutputArtifactDetails *CodePipelineCustomActionTypeArtifactDetails `json:"OutputArtifactDetails,omitempty"`

    // The name of the service provider that AWS CodePipeline uses for this
    // custom action.
    Provider *StringExpr `json:"Provider,omitempty"`

    // URLs that provide users information about this custom action.
    Settings *CodePipelineCustomActionTypeSettings `json:"Settings,omitempty"`

    // The version number of this custom action.
    Version *StringExpr `json:"Version,omitempty"`
}

CodePipelineCustomAction represents AWS::CodePipeline::CustomActionType

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html

func (CodePipelineCustomAction) CfnResourceType Uses

func (s CodePipelineCustomAction) CfnResourceType() string

CfnResourceType returns AWS::CodePipeline::CustomActionType to implement the ResourceProperties interface

type CodePipelineCustomActionTypeArtifactDetails Uses

type CodePipelineCustomActionTypeArtifactDetails struct {
    // The maximum number of artifacts allowed for the action type.
    MaximumCount *IntegerExpr `json:"MaximumCount,omitempty"`

    // The minimum number of artifacts allowed for the action type.
    MinimumCount *IntegerExpr `json:"MinimumCount,omitempty"`
}

CodePipelineCustomActionTypeArtifactDetails represents AWS CodePipeline CustomActionType ArtifactDetails

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-artifactdetails.html

type CodePipelineCustomActionTypeArtifactDetailsList Uses

type CodePipelineCustomActionTypeArtifactDetailsList []CodePipelineCustomActionTypeArtifactDetails

CodePipelineCustomActionTypeArtifactDetailsList represents a list of CodePipelineCustomActionTypeArtifactDetails

func (*CodePipelineCustomActionTypeArtifactDetailsList) UnmarshalJSON Uses

func (l *CodePipelineCustomActionTypeArtifactDetailsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelineCustomActionTypeConfigurationProperties Uses

type CodePipelineCustomActionTypeConfigurationProperties struct {
    // A description of this configuration property that will be displayed to
    // users.
    Description *StringExpr `json:"Description,omitempty"`

    // Indicates whether the configuration property is a key.
    Key *BoolExpr `json:"Key,omitempty"`

    // A name for this configuration property.
    Name *StringExpr `json:"Name,omitempty"`

    // Indicates whether the configuration property will be used with the
    // PollForJobs call. A custom action can have one queryable property. The
    // queryable property must be required (see the Required property) and
    // must not be secret (see the Secret property). For more information,
    // see the queryable contents for the ActionConfigurationProperty data
    // type in the AWS CodePipeline API Reference.
    Queryable *BoolExpr `json:"Queryable,omitempty"`

    // Indicates whether the configuration property is a required value.
    Required *BoolExpr `json:"Required,omitempty"`

    // Indicates whether the configuration property is secret. Secret
    // configuration properties are hidden from all AWS CodePipeline calls
    // except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and
    // PollForThirdPartyJobs.
    Secret *BoolExpr `json:"Secret,omitempty"`

    // The type of the configuration property, such as String, Number, or
    // Boolean.
    Type *StringExpr `json:"Type,omitempty"`
}

CodePipelineCustomActionTypeConfigurationProperties represents AWS CodePipeline CustomActionType ConfigurationProperties

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-configurationproperties.html

type CodePipelineCustomActionTypeConfigurationPropertiesList Uses

type CodePipelineCustomActionTypeConfigurationPropertiesList []CodePipelineCustomActionTypeConfigurationProperties

CodePipelineCustomActionTypeConfigurationPropertiesList represents a list of CodePipelineCustomActionTypeConfigurationProperties

func (*CodePipelineCustomActionTypeConfigurationPropertiesList) UnmarshalJSON Uses

func (l *CodePipelineCustomActionTypeConfigurationPropertiesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelineCustomActionTypeSettings Uses

type CodePipelineCustomActionTypeSettings struct {
    // The URL that is returned to the AWS CodePipeline console that links to
    // the resources of the external system, such as the configuration page
    // for an AWS CodeDeploy deployment group.
    EntityUrlTemplate *StringExpr `json:"EntityUrlTemplate,omitempty"`

    // The URL that is returned to the AWS CodePipeline console that links to
    // the top-level landing page for the external system, such as the
    // console page for AWS CodeDeploy.
    ExecutionUrlTemplate *StringExpr `json:"ExecutionUrlTemplate,omitempty"`

    // The URL that is returned to the AWS CodePipeline console that links to
    // the page where customers can update or change the configuration of the
    // external action.
    RevisionUrlTemplate *StringExpr `json:"RevisionUrlTemplate,omitempty"`

    // The URL of a sign-up page where users can sign up for an external
    // service and specify the initial configurations for the service's
    // action.
    ThirdPartyConfigurationUrl *StringExpr `json:"ThirdPartyConfigurationUrl,omitempty"`
}

CodePipelineCustomActionTypeSettings represents AWS CodePipeline CustomActionType Settings

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-settings.html

type CodePipelineCustomActionTypeSettingsList Uses

type CodePipelineCustomActionTypeSettingsList []CodePipelineCustomActionTypeSettings

CodePipelineCustomActionTypeSettingsList represents a list of CodePipelineCustomActionTypeSettings

func (*CodePipelineCustomActionTypeSettingsList) UnmarshalJSON Uses

func (l *CodePipelineCustomActionTypeSettingsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipeline Uses

type CodePipelinePipeline struct {
    // The Amazon Simple Storage Service (Amazon S3) location where AWS
    // CodePipeline stores pipeline artifacts. For more information, see
    // Create an Amazon S3 Bucket for Your Application in the AWS
    // CodePipeline User Guide.
    ArtifactStore *CodePipelinePipelineArtifactStore `json:"ArtifactStore,omitempty"`

    // Prevents artifacts in a pipeline from transitioning to the stage that
    // you specified. This enables you to manually control transitions.
    DisableInboundStageTransitions *CodePipelinePipelineDisableInboundStageTransitionsList `json:"DisableInboundStageTransitions,omitempty"`

    // The name of your AWS CodePipeline pipeline.
    Name *StringExpr `json:"Name,omitempty"`

    // Indicates whether to rerun the AWS CodePipeline pipeline after you
    // update it.
    RestartExecutionOnUpdate *BoolExpr `json:"RestartExecutionOnUpdate,omitempty"`

    // A service role Amazon Resource Name (ARN) that grants AWS CodePipeline
    // permission to make calls to AWS services on your behalf. For more
    // information, see AWS CodePipeline Access Permissions Reference in the
    // AWS CodePipeline User Guide.
    RoleArn *StringExpr `json:"RoleArn,omitempty"`

    // Defines the AWS CodePipeline pipeline stages.
    Stages *CodePipelinePipelineStagesList `json:"Stages,omitempty"`
}

CodePipelinePipeline represents AWS::CodePipeline::Pipeline

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html

func (CodePipelinePipeline) CfnResourceType Uses

func (s CodePipelinePipeline) CfnResourceType() string

CfnResourceType returns AWS::CodePipeline::Pipeline to implement the ResourceProperties interface

type CodePipelinePipelineArtifactStore Uses

type CodePipelinePipelineArtifactStore struct {
    // The encryption key AWS CodePipeline uses to encrypt the data in the
    // artifact store, such as an AWS Key Management Service (AWS KMS) key.
    // If you don't specify a key, AWS CodePipeline uses the default key for
    // Amazon Simple Storage Service (Amazon S3).
    EncryptionKey *CodePipelinePipelineArtifactStoreEncryptionKey `json:"EncryptionKey,omitempty"`

    // The location where AWS CodePipeline stores artifacts for a pipeline,
    // such as an S3 bucket.
    Location *StringExpr `json:"Location,omitempty"`

    // The type of the artifact store, such as Amazon S3. For valid values,
    // see ArtifactStore in the AWS CodePipeline API Reference.
    Type *StringExpr `json:"Type,omitempty"`
}

CodePipelinePipelineArtifactStore represents AWS CodePipeline Pipeline ArtifactStore

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html

type CodePipelinePipelineArtifactStoreEncryptionKey Uses

type CodePipelinePipelineArtifactStoreEncryptionKey struct {
    // The ID of the key. For an AWS KMS key, specify the key ID or key
    // Amazon Resource Number (ARN).
    Id  *StringExpr `json:"Id,omitempty"`

    // The type of encryption key, such as KMS. For valid values, see
    // EncryptionKey in the AWS CodePipeline API Reference.
    Type *StringExpr `json:"Type,omitempty"`
}

CodePipelinePipelineArtifactStoreEncryptionKey represents AWS CodePipeline Pipeline ArtifactStore EncryptionKey

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore-encryptionkey.html

type CodePipelinePipelineArtifactStoreEncryptionKeyList Uses

type CodePipelinePipelineArtifactStoreEncryptionKeyList []CodePipelinePipelineArtifactStoreEncryptionKey

CodePipelinePipelineArtifactStoreEncryptionKeyList represents a list of CodePipelinePipelineArtifactStoreEncryptionKey

func (*CodePipelinePipelineArtifactStoreEncryptionKeyList) UnmarshalJSON Uses

func (l *CodePipelinePipelineArtifactStoreEncryptionKeyList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineArtifactStoreList Uses

type CodePipelinePipelineArtifactStoreList []CodePipelinePipelineArtifactStore

CodePipelinePipelineArtifactStoreList represents a list of CodePipelinePipelineArtifactStore

func (*CodePipelinePipelineArtifactStoreList) UnmarshalJSON Uses

func (l *CodePipelinePipelineArtifactStoreList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineDisableInboundStageTransitions Uses

type CodePipelinePipelineDisableInboundStageTransitions struct {
    // An explanation of why the transition between two stages of a pipeline
    // was disabled.
    Reason *StringExpr `json:"Reason,omitempty"`

    // The name of the stage to which transitions are disabled.
    StageName *StringExpr `json:"StageName,omitempty"`
}

CodePipelinePipelineDisableInboundStageTransitions represents AWS CodePipeline Pipeline DisableInboundStageTransitions

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-disableinboundstagetransitions.html

type CodePipelinePipelineDisableInboundStageTransitionsList Uses

type CodePipelinePipelineDisableInboundStageTransitionsList []CodePipelinePipelineDisableInboundStageTransitions

CodePipelinePipelineDisableInboundStageTransitionsList represents a list of CodePipelinePipelineDisableInboundStageTransitions

func (*CodePipelinePipelineDisableInboundStageTransitionsList) UnmarshalJSON Uses

func (l *CodePipelinePipelineDisableInboundStageTransitionsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineStages Uses

type CodePipelinePipelineStages struct {
    // The actions to include in this stage.
    Actions *CodePipelinePipelineStagesActionsList `json:"Actions,omitempty"`

    // The gates included in a stage.
    Blockers *CodePipelinePipelineStagesBlockersList `json:"Blockers,omitempty"`

    // A name for this stage.
    Name *StringExpr `json:"Name,omitempty"`
}

CodePipelinePipelineStages represents AWS CodePipeline Pipeline Stages

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html

type CodePipelinePipelineStagesActions Uses

type CodePipelinePipelineStagesActions struct {
    // Specifies the action type and the provider of the action.
    ActionTypeId *CodePipelinePipelineStagesActionsActionTypeId `json:"ActionTypeId,omitempty"`

    // The action's configuration. These are key-value pairs that specify
    // input values for an action.
    Configuration interface{} `json:"Configuration,omitempty"`

    // The name or ID of the artifact that the action consumes, such as a
    // test or build artifact.
    InputArtifacts *CodePipelinePipelineStagesActionsInputArtifactsList `json:"InputArtifacts,omitempty"`

    // The action name.
    Name *StringExpr `json:"Name,omitempty"`

    // The artifact name or ID that is a result of the action, such as a test
    // or build artifact.
    OutputArtifacts *CodePipelinePipelineStagesActionsOutputArtifactsList `json:"OutputArtifacts,omitempty"`

    // The Amazon Resource Name (ARN) of a service role that the action uses.
    // The pipeline's role assumes this role.
    RoleArn *StringExpr `json:"RoleArn,omitempty"`

    // The order in which AWS CodePipeline runs this action.
    RunOrder *IntegerExpr `json:"RunOrder,omitempty"`
}

CodePipelinePipelineStagesActions represents AWS CodePipeline Pipeline Stages Actions

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html

type CodePipelinePipelineStagesActionsActionTypeId Uses

type CodePipelinePipelineStagesActionsActionTypeId struct {
    // A category that defines which action type the owner (the entitiy that
    // performs the action) performs. The category that you select determine
    // the providers that you can specify for the Provider property. For
    // valid values, see ActionTypeId in the AWS CodePipeline API Reference.
    Category *StringExpr `json:"Category,omitempty"`

    // The entity that performs the action. For valid values, see
    // ActionTypeId in the AWS CodePipeline API Reference.
    Owner *StringExpr `json:"Owner,omitempty"`

    // The service provider that the action calls. The providers that you can
    // specify are determined by the category that you select. For example, a
    // valid provider for the Deploy category is AWS CodeDeploy, which you
    // would specify as CodeDeploy.
    Provider *StringExpr `json:"Provider,omitempty"`

    // A version identifier for this action.
    Version *StringExpr `json:"Version,omitempty"`
}

CodePipelinePipelineStagesActionsActionTypeId represents AWS CodePipeline Pipeline Stages Actions ActionTypeId

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html

type CodePipelinePipelineStagesActionsActionTypeIdList Uses

type CodePipelinePipelineStagesActionsActionTypeIdList []CodePipelinePipelineStagesActionsActionTypeId

CodePipelinePipelineStagesActionsActionTypeIdList represents a list of CodePipelinePipelineStagesActionsActionTypeId

func (*CodePipelinePipelineStagesActionsActionTypeIdList) UnmarshalJSON Uses

func (l *CodePipelinePipelineStagesActionsActionTypeIdList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineStagesActionsInputArtifacts Uses

type CodePipelinePipelineStagesActionsInputArtifacts struct {
    // The name of the artifact that the AWS CodePipeline action works on,
    // such as My App.The input artifact of an action must match the output
    // artifact from any preceding action.
    Name *StringExpr `json:"Name,omitempty"`
}

CodePipelinePipelineStagesActionsInputArtifacts represents AWS CodePipeline Pipeline Stages Actions InputArtifacts

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-inputartifacts.html

type CodePipelinePipelineStagesActionsInputArtifactsList Uses

type CodePipelinePipelineStagesActionsInputArtifactsList []CodePipelinePipelineStagesActionsInputArtifacts

CodePipelinePipelineStagesActionsInputArtifactsList represents a list of CodePipelinePipelineStagesActionsInputArtifacts

func (*CodePipelinePipelineStagesActionsInputArtifactsList) UnmarshalJSON Uses

func (l *CodePipelinePipelineStagesActionsInputArtifactsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineStagesActionsList Uses

type CodePipelinePipelineStagesActionsList []CodePipelinePipelineStagesActions

CodePipelinePipelineStagesActionsList represents a list of CodePipelinePipelineStagesActions

func (*CodePipelinePipelineStagesActionsList) UnmarshalJSON Uses

func (l *CodePipelinePipelineStagesActionsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineStagesActionsOutputArtifacts Uses

type CodePipelinePipelineStagesActionsOutputArtifacts struct {
    // The name of the artifact that is the result of an AWS CodePipeline
    // action, such as My App. Output artifact names must be unique within a
    // pipeline.
    Name *StringExpr `json:"Name,omitempty"`
}

CodePipelinePipelineStagesActionsOutputArtifacts represents AWS CodePipeline Pipeline Stages Actions OutputArtifacts

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-outputartifacts.html

type CodePipelinePipelineStagesActionsOutputArtifactsList Uses

type CodePipelinePipelineStagesActionsOutputArtifactsList []CodePipelinePipelineStagesActionsOutputArtifacts

CodePipelinePipelineStagesActionsOutputArtifactsList represents a list of CodePipelinePipelineStagesActionsOutputArtifacts

func (*CodePipelinePipelineStagesActionsOutputArtifactsList) UnmarshalJSON Uses

func (l *CodePipelinePipelineStagesActionsOutputArtifactsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineStagesBlockers Uses

type CodePipelinePipelineStagesBlockers struct {
    // The name of the gate declaration.
    Name *StringExpr `json:"Name,omitempty"`

    // The type of gate declaration. For valid values, see BlockerDeclaration
    // in the AWS CodePipeline API Reference.
    Type *StringExpr `json:"Type,omitempty"`
}

CodePipelinePipelineStagesBlockers represents AWS CodePipeline Pipeline Stages Blockers

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-blockers.html

type CodePipelinePipelineStagesBlockersList Uses

type CodePipelinePipelineStagesBlockersList []CodePipelinePipelineStagesBlockers

CodePipelinePipelineStagesBlockersList represents a list of CodePipelinePipelineStagesBlockers

func (*CodePipelinePipelineStagesBlockersList) UnmarshalJSON Uses

func (l *CodePipelinePipelineStagesBlockersList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CodePipelinePipelineStagesList Uses

type CodePipelinePipelineStagesList []CodePipelinePipelineStages

CodePipelinePipelineStagesList represents a list of CodePipelinePipelineStages

func (*CodePipelinePipelineStagesList) UnmarshalJSON Uses

func (l *CodePipelinePipelineStagesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ConfigConfigRule Uses

type ConfigConfigRule struct {
    // A name for the AWS Config rule. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID and uses that ID for the
    // rule name. For more information, see Name Type.
    ConfigRuleName *StringExpr `json:"ConfigRuleName,omitempty"`

    // A description about this AWS Config rule.
    Description *StringExpr `json:"Description,omitempty"`

    // Input parameter values that are passed to the AWS Config rule (Lambda
    // function).
    InputParameters interface{} `json:"InputParameters,omitempty"`

    // The maximum frequency at which the AWS Config rule runs evaluations.
    // For valid values, see the ConfigRule data type in the AWS Config API
    // Reference.
    MaximumExecutionFrequency *StringExpr `json:"MaximumExecutionFrequency,omitempty"`

    // Defines which AWS resources will trigger an evaluation when their
    // configurations change. The scope can include one or more resource
    // types, a combination of a tag key and value, or a combination of one
    // resource type and one resource ID. Specify a scope to constrain the
    // resources that are evaluated. If you don't specify a scope, the rule
    // evaluates all resources in the recording group.
    Scope *ConfigConfigRuleScope `json:"Scope,omitempty"`

    // Specifies the rule owner, the rule identifier, and the events that
    // cause the function to evaluate your AWS resources.
    Source *ConfigConfigRuleSource `json:"Source,omitempty"`
}

ConfigConfigRule represents AWS::Config::ConfigRule

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html

func (ConfigConfigRule) CfnResourceType Uses

func (s ConfigConfigRule) CfnResourceType() string

CfnResourceType returns AWS::Config::ConfigRule to implement the ResourceProperties interface

type ConfigConfigRuleScope Uses

type ConfigConfigRuleScope struct {
    // The ID of an AWS resource that you want AWS Config to evaluate against
    // a rule. If you specify an ID, you must also specify a resource type
    // for the ComplianceResourceTypes property.
    ComplianceResourceId *StringExpr `json:"ComplianceResourceId,omitempty"`

    // The types of AWS resources that you want AWS Config to evaluate
    // against the rule. If you specify the ComplianceResourceId property,
    // specify only one resource type.
    ComplianceResourceTypes *StringListExpr `json:"ComplianceResourceTypes,omitempty"`

    // The tag key that is applied to the AWS resources that you want AWS
    // Config to evaluate against the rule.
    TagKey *StringExpr `json:"TagKey,omitempty"`

    // The tag value that is applied to the AWS resources that you want AWS
    // Config to evaluate against the rule.
    TagValue *StringExpr `json:"TagValue,omitempty"`
}

ConfigConfigRuleScope represents AWS Config ConfigRule Scope

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html

type ConfigConfigRuleScopeList Uses

type ConfigConfigRuleScopeList []ConfigConfigRuleScope

ConfigConfigRuleScopeList represents a list of ConfigConfigRuleScope

func (*ConfigConfigRuleScopeList) UnmarshalJSON Uses

func (l *ConfigConfigRuleScopeList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ConfigConfigRuleSource Uses

type ConfigConfigRuleSource struct {
    // Indicates who owns and manages the AWS Config rule. For valid values,
    // see the Source data type in the AWS Config API Reference.
    Owner *StringExpr `json:"Owner,omitempty"`

    // Provides the source and type of event that triggers AWS Config to
    // evaluate your AWS resources.
    SourceDetails *ConfigConfigRuleSourceSourceDetailsList `json:"SourceDetails,omitempty"`

    // For AWS managed rules, the identifier of the rule. For a list of
    // identifiers, see AWS Managed Rules in the AWS Config Developer Guide.
    SourceIdentifier *StringExpr `json:"SourceIdentifier,omitempty"`
}

ConfigConfigRuleSource represents AWS Config ConfigRule Source

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html

type ConfigConfigRuleSourceList Uses

type ConfigConfigRuleSourceList []ConfigConfigRuleSource

ConfigConfigRuleSourceList represents a list of ConfigConfigRuleSource

func (*ConfigConfigRuleSourceList) UnmarshalJSON Uses

func (l *ConfigConfigRuleSourceList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ConfigConfigRuleSourceSourceDetails Uses

type ConfigConfigRuleSourceSourceDetails struct {
    // The source, such as an AWS service, that generate events, triggering
    // AWS Config to evaluate your AWS resources. For valid values, see the
    // SourceDetail data type in the AWS Config API Reference.
    EventSource *StringExpr `json:"EventSource,omitempty"`

    // The type of Amazon Simple Notification Service (Amazon SNS) message
    // that triggers AWS Config to run an evaluation.
    MessageType *StringExpr `json:"MessageType,omitempty"`
}

ConfigConfigRuleSourceSourceDetails represents AWS Config ConfigRule Source SourceDetails

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html

type ConfigConfigRuleSourceSourceDetailsList Uses

type ConfigConfigRuleSourceSourceDetailsList []ConfigConfigRuleSourceSourceDetails

ConfigConfigRuleSourceSourceDetailsList represents a list of ConfigConfigRuleSourceSourceDetails

func (*ConfigConfigRuleSourceSourceDetailsList) UnmarshalJSON Uses

func (l *ConfigConfigRuleSourceSourceDetailsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ConfigConfigurationRecorder Uses

type ConfigConfigurationRecorder struct {
    // A name for the configuration recorder. If you don't specify a name,
    // AWS CloudFormation generates a unique physical ID and uses that ID for
    // the configuration recorder name. For more information, see Name Type.
    Name *StringExpr `json:"Name,omitempty"`

    // Indicates whether to record configurations for all supported resources
    // or for a list of resource types. The resource types that you list must
    // be supported by AWS Config.
    RecordingGroup *ConfigConfigurationRecorderRecordingGroup `json:"RecordingGroup,omitempty"`

    // The Amazon Resource Name (ARN) of the AWS Identity and Access
    // Management (IAM) role that is used to make read or write requests to
    // the delivery channel that you specify and to get configuration details
    // for supported AWS resources. For more information, see Permissions for
    // the AWS Config IAM Role in the AWS Config Developer Guide.
    RoleARN *StringExpr `json:"RoleARN,omitempty"`
}

ConfigConfigurationRecorder represents AWS::Config::ConfigurationRecorder

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html

func (ConfigConfigurationRecorder) CfnResourceType Uses

func (s ConfigConfigurationRecorder) CfnResourceType() string

CfnResourceType returns AWS::Config::ConfigurationRecorder to implement the ResourceProperties interface

type ConfigConfigurationRecorderRecordingGroup Uses

type ConfigConfigurationRecorderRecordingGroup struct {
    // Indicates whether to record all supported resource types. If you
    // specify this property, do not specify the ResourceTypes property.
    AllSupported *BoolExpr `json:"AllSupported,omitempty"`

    // Indicates whether AWS Config records all supported global resource
    // types. When AWS Config supports new global resource types, AWS Config
    // will automatically start recording them if you enable this property.
    IncludeGlobalResourceTypes *BoolExpr `json:"IncludeGlobalResourceTypes,omitempty"`

    // A list of valid AWS resource types to include in this recording group,
    // such as AWS::EC2::Instance or AWS::CloudTrail::Trail. If you specify
    // this property, do not specify the AllSupported property. For a list of
    // supported resource types, see Supported resource types in the AWS
    // Config Developer Guide.
    ResourceTypes *StringListExpr `json:"ResourceTypes,omitempty"`
}

ConfigConfigurationRecorderRecordingGroup represents AWS Config ConfigurationRecorder RecordingGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html

type ConfigConfigurationRecorderRecordingGroupList Uses

type ConfigConfigurationRecorderRecordingGroupList []ConfigConfigurationRecorderRecordingGroup

ConfigConfigurationRecorderRecordingGroupList represents a list of ConfigConfigurationRecorderRecordingGroup

func (*ConfigConfigurationRecorderRecordingGroupList) UnmarshalJSON Uses

func (l *ConfigConfigurationRecorderRecordingGroupList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type ConfigDeliveryChannel Uses

type ConfigDeliveryChannel struct {
    // Provides options for how AWS Config delivers configuration snapshots
    // to the S3 bucket in your delivery channel.
    ConfigSnapshotDeliveryProperties *ConfigDeliveryChannelConfigSnapshotDeliveryProperties `json:"ConfigSnapshotDeliveryProperties,omitempty"`

    // A name for the delivery channel. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID and uses that ID for the
    // delivery channel name. For more information, see Name Type.
    Name *StringExpr `json:"Name,omitempty"`

    // The name of an S3 bucket where you want to store configuration history
    // for the delivery channel.
    S3BucketName *StringExpr `json:"S3BucketName,omitempty"`

    // A key prefix (folder) for the specified S3 bucket.
    S3KeyPrefix *StringExpr `json:"S3KeyPrefix,omitempty"`

    // The Amazon Resource Name (ARN) of the Amazon Simple Notification
    // Service (Amazon SNS) topic that AWS Config delivers notifications to.
    SnsTopicARN *StringExpr `json:"SnsTopicARN,omitempty"`
}

ConfigDeliveryChannel represents AWS::Config::DeliveryChannel

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html

func (ConfigDeliveryChannel) CfnResourceType Uses

func (s ConfigDeliveryChannel) CfnResourceType() string

CfnResourceType returns AWS::Config::DeliveryChannel to implement the ResourceProperties interface

type ConfigDeliveryChannelConfigSnapshotDeliveryProperties Uses

type ConfigDeliveryChannelConfigSnapshotDeliveryProperties struct {
    // The frequency with which AWS Config delivers configuration snapshots.
    // For valid values, see ConfigSnapshotDeliveryProperties in the AWS
    // Config API Reference.
    DeliveryFrequency *StringExpr `json:"DeliveryFrequency,omitempty"`
}

ConfigDeliveryChannelConfigSnapshotDeliveryProperties represents AWS Config DeliveryChannel ConfigSnapshotDeliveryProperties

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html

type ConfigDeliveryChannelConfigSnapshotDeliveryPropertiesList Uses

type ConfigDeliveryChannelConfigSnapshotDeliveryPropertiesList []ConfigDeliveryChannelConfigSnapshotDeliveryProperties

ConfigDeliveryChannelConfigSnapshotDeliveryPropertiesList represents a list of ConfigDeliveryChannelConfigSnapshotDeliveryProperties

func (*ConfigDeliveryChannelConfigSnapshotDeliveryPropertiesList) UnmarshalJSON Uses

func (l *ConfigDeliveryChannelConfigSnapshotDeliveryPropertiesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type CreationPolicy Uses

type CreationPolicy struct {
    ResourceSignal *CreationPolicyResourceSignal `json:"ResourceSignal,omitempty"`
}

CreationPolicy represents CreationPolicy Attribute

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html

type CreationPolicyResourceSignal Uses

type CreationPolicyResourceSignal struct {
    // The number of success signals AWS CloudFormation must receive before it sets the resource status as CREATE_COMPLETE. If the resource receives a failure signal or doesn't receive the specified number of signals before the timeout period expires, the resource creation fails and AWS CloudFormation rolls the stack back.
    Count *IntegerExpr `json:"Count,omitempty"`

    // The length of time that AWS CloudFormation waits for the number of signals that was specified in the Count property. The timeout period starts after AWS CloudFormation starts creating the resource, and the timeout expires no sooner than the time you specify but can occur shortly thereafter. The maximum time that you can specify is 12 hours.
    //
    // The value must be in ISO8601 duration format, in the form: "PT#H#M#S", where each # is the number of hours, minutes, and seconds, respectively. For best results, specify a period of time that gives your instances plenty of time to get up and running. A shorter timeout can cause a rollback.
    Timeout *StringExpr `json:"Timeout,omitempty"`
}

CreationPolicyResourceSignal represents a CreationPolicy ResourceSignal

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html

type CustomResourceProvider Uses

type CustomResourceProvider func(customResourceType string) ResourceProperties

CustomResourceProvider allows extend the NewResourceByType factory method with their own resource types.

type DataPipelineDataPipelineObjectFields Uses

type DataPipelineDataPipelineObjectFields struct {
    // Specifies the name of a field for a particular object. To view fields
    // for a data pipeline object, see Pipeline Object Reference in the AWS
    // Data Pipeline Developer Guide.
    Key *StringExpr `json:"Key,omitempty"`

    // A field value that you specify as an identifier of another object in
    // the same pipeline definition.
    RefValue *StringExpr `json:"RefValue,omitempty"`

    // A field value that you specify as a string. To view valid values for a
    // particular field, see Pipeline Object Reference in the AWS Data
    // Pipeline Developer Guide.
    StringValue *StringExpr `json:"StringValue,omitempty"`
}

DataPipelineDataPipelineObjectFields represents AWS Data Pipeline Data Pipeline Object Fields

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html

type DataPipelineDataPipelineObjectFieldsList Uses

type DataPipelineDataPipelineObjectFieldsList []DataPipelineDataPipelineObjectFields

DataPipelineDataPipelineObjectFieldsList represents a list of DataPipelineDataPipelineObjectFields

func (*DataPipelineDataPipelineObjectFieldsList) UnmarshalJSON Uses

func (l *DataPipelineDataPipelineObjectFieldsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DataPipelineParameterObjectsAttributes Uses

type DataPipelineParameterObjectsAttributes struct {
    // Specifies the name of a parameter attribute. To view parameter
    // attributes, see Creating a Pipeline Using Parameterized Templates in
    // the AWS Data Pipeline Developer Guide.
    Key *StringExpr `json:"Key,omitempty"`

    // A parameter attribute value.
    StringValue *StringExpr `json:"StringValue,omitempty"`
}

DataPipelineParameterObjectsAttributes represents AWS Data Pipeline Parameter Objects Attributes

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects-attributes.html

type DataPipelineParameterObjectsAttributesList Uses

type DataPipelineParameterObjectsAttributesList []DataPipelineParameterObjectsAttributes

DataPipelineParameterObjectsAttributesList represents a list of DataPipelineParameterObjectsAttributes

func (*DataPipelineParameterObjectsAttributesList) UnmarshalJSON Uses

func (l *DataPipelineParameterObjectsAttributesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DataPipelinePipeline Uses

type DataPipelinePipeline struct {
    // Indicates whether to validate and start the pipeline or stop an active
    // pipeline. By default, the value is set to true.
    Activate *BoolExpr `json:"Activate,omitempty"`

    // A description for the pipeline.
    Description *StringExpr `json:"Description,omitempty"`

    // A name for the pipeline. Because AWS CloudFormation assigns each new
    // pipeline a unique identifier, you can use the same name for multiple
    // pipelines that are associated with your AWS account.
    Name *StringExpr `json:"Name,omitempty"`

    // Defines the variables that are in the pipeline definition. For more
    // information, see Creating a Pipeline Using Parameterized Templates in
    // the AWS Data Pipeline Developer Guide.
    ParameterObjects *DataPipelinePipelineParameterObjectsList `json:"ParameterObjects,omitempty"`

    // Defines the values for the parameters that are defined in the
    // ParameterObjects property. For more information, see Creating a
    // Pipeline Using Parameterized Templates in the AWS Data Pipeline
    // Developer Guide.
    ParameterValues *DataPipelinePipelineParameterValuesList `json:"ParameterValues,omitempty"`

    // A list of pipeline objects that make up the pipeline. For more
    // information about pipeline objects and a description of each object,
    // see Pipeline Object Reference in the AWS Data Pipeline Developer
    // Guide.
    PipelineObjects *DataPipelinePipelineObjectsList `json:"PipelineObjects,omitempty"`

    // A list of arbitrary tags (key-value pairs) to associate with the
    // pipeline, which you can use to control permissions. For more
    // information, see Controlling Access to Pipelines and Resources in the
    // AWS Data Pipeline Developer Guide.
    PipelineTags *DataPipelinePipelinePipelineTagsList `json:"PipelineTags,omitempty"`
}

DataPipelinePipeline represents AWS::DataPipeline::Pipeline

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html

func (DataPipelinePipeline) CfnResourceType Uses

func (s DataPipelinePipeline) CfnResourceType() string

CfnResourceType returns AWS::DataPipeline::Pipeline to implement the ResourceProperties interface

type DataPipelinePipelineObjects Uses

type DataPipelinePipelineObjects struct {
    // Key-value pairs that define the properties of the object.
    Fields *DataPipelineDataPipelineObjectFieldsList `json:"Fields,omitempty"`

    // Identifier of the object.
    Id  *StringExpr `json:"Id,omitempty"`

    // Name of the object.
    Name *StringExpr `json:"Name,omitempty"`
}

DataPipelinePipelineObjects represents AWS Data Pipeline PipelineObjects

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html

type DataPipelinePipelineObjectsList Uses

type DataPipelinePipelineObjectsList []DataPipelinePipelineObjects

DataPipelinePipelineObjectsList represents a list of DataPipelinePipelineObjects

func (*DataPipelinePipelineObjectsList) UnmarshalJSON Uses

func (l *DataPipelinePipelineObjectsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DataPipelinePipelineParameterObjects Uses

type DataPipelinePipelineParameterObjects struct {
    // Key-value pairs that define the attributes of the parameter object.
    Attributes *DataPipelineParameterObjectsAttributesList `json:"Attributes,omitempty"`

    // The identifier of the parameter object.
    Id  *StringExpr `json:"Id,omitempty"`
}

DataPipelinePipelineParameterObjects represents AWS Data Pipeline Pipeline ParameterObjects

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects.html

type DataPipelinePipelineParameterObjectsList Uses

type DataPipelinePipelineParameterObjectsList []DataPipelinePipelineParameterObjects

DataPipelinePipelineParameterObjectsList represents a list of DataPipelinePipelineParameterObjects

func (*DataPipelinePipelineParameterObjectsList) UnmarshalJSON Uses

func (l *DataPipelinePipelineParameterObjectsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DataPipelinePipelineParameterValues Uses

type DataPipelinePipelineParameterValues struct {
    // The ID of a parameter object.
    Id  *StringExpr `json:"Id,omitempty"`

    // A value to associate with the parameter object.
    StringValue *StringExpr `json:"StringValue,omitempty"`
}

DataPipelinePipelineParameterValues represents AWS Data Pipeline Pipeline ParameterValues

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parametervalues.html

type DataPipelinePipelineParameterValuesList Uses

type DataPipelinePipelineParameterValuesList []DataPipelinePipelineParameterValues

DataPipelinePipelineParameterValuesList represents a list of DataPipelinePipelineParameterValues

func (*DataPipelinePipelineParameterValuesList) UnmarshalJSON Uses

func (l *DataPipelinePipelineParameterValuesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DataPipelinePipelinePipelineTags Uses

type DataPipelinePipelinePipelineTags struct {
    // The key name of a tag.
    Key *StringExpr `json:"Key,omitempty"`

    // The value to associate with the key name.
    Value *StringExpr `json:"Value,omitempty"`
}

DataPipelinePipelinePipelineTags represents AWS Data Pipeline Pipeline PipelineTags

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelinetags.html

type DataPipelinePipelinePipelineTagsList Uses

type DataPipelinePipelinePipelineTagsList []DataPipelinePipelinePipelineTags

DataPipelinePipelinePipelineTagsList represents a list of DataPipelinePipelinePipelineTags

func (*DataPipelinePipelinePipelineTagsList) UnmarshalJSON Uses

func (l *DataPipelinePipelinePipelineTagsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DataSource Uses

type DataSource struct {
    // The ARN of the data source.
    Arn *StringExpr `json:"Arn,omitempty"`

    // The name of the database.
    DatabaseName *StringExpr `json:"DatabaseName,omitempty"`

    // The type of the data source, such as AutoSelectOpsworksMysqlInstance,
    // OpsworksMysqlInstance, or RdsDbInstance. For valid values, see the
    // DataSource type in the AWS OpsWorks Stacks API Reference.
    Type *StringExpr `json:"Type,omitempty"`
}

DataSource represents DataSource

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html

type DataSourceList Uses

type DataSourceList []DataSource

DataSourceList represents a list of DataSource

func (*DataSourceList) UnmarshalJSON Uses

func (l *DataSourceList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DirectoryServiceMicrosoftAD Uses

type DirectoryServiceMicrosoftAD struct {
    // A unique alias to assign to the Microsoft Active Directory in AWS. AWS
    // Directory Service uses the alias to construct the access URL for the
    // directory, such as http://alias.awsapps.com. By default, AWS
    // CloudFormation does not create an alias.
    CreateAlias *BoolExpr `json:"CreateAlias,omitempty"`

    // Whether to enable single sign-on for a Microsoft Active Directory in
    // AWS. Single sign-on allows users in your directory to access certain
    // AWS services from a computer joined to the directory without having to
    // enter their credentials separately. If you don't specify a value, AWS
    // CloudFormation disables single sign-on by default.
    EnableSso *BoolExpr `json:"EnableSso,omitempty"`

    // The fully qualified name for the Microsoft Active Directory in AWS,
    // such as corp.example.com. The name doesn't need to be publicly
    // resolvable; it will resolve inside your VPC only.
    Name *StringExpr `json:"Name,omitempty"`

    // The password for the default administrative user, Admin.
    Password *StringExpr `json:"Password,omitempty"`

    // The NetBIOS name for your domain, such as CORP. If you don't specify a
    // value, AWS Directory Service uses the first part of your directory DNS
    // server name. For example, if your directory DNS server name is
    // corp.example.com, AWS Directory Service specifies CORP for the NetBIOS
    // name.
    ShortName *StringExpr `json:"ShortName,omitempty"`

    // Specifies the VPC settings of the Microsoft Active Directory server in
    // AWS.
    VpcSettings *DirectoryServiceMicrosoftADVpcSettings `json:"VpcSettings,omitempty"`
}

DirectoryServiceMicrosoftAD represents AWS::DirectoryService::MicrosoftAD

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html

func (DirectoryServiceMicrosoftAD) CfnResourceType Uses

func (s DirectoryServiceMicrosoftAD) CfnResourceType() string

CfnResourceType returns AWS::DirectoryService::MicrosoftAD to implement the ResourceProperties interface

type DirectoryServiceMicrosoftADVpcSettings Uses

type DirectoryServiceMicrosoftADVpcSettings struct {
    // A list of two subnet IDs for the directory servers. Each subnet must
    // be in different Availability Zones (AZs). AWS Directory Service
    // creates a directory server and a DNS server in each subnet.
    SubnetIds *StringListExpr `json:"SubnetIds,omitempty"`

    // The VPC ID in which to create the Microsoft Active Directory server.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

DirectoryServiceMicrosoftADVpcSettings represents AWS Directory Service MicrosoftAD VpcSettings

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html

type DirectoryServiceMicrosoftADVpcSettingsList Uses

type DirectoryServiceMicrosoftADVpcSettingsList []DirectoryServiceMicrosoftADVpcSettings

DirectoryServiceMicrosoftADVpcSettingsList represents a list of DirectoryServiceMicrosoftADVpcSettings

func (*DirectoryServiceMicrosoftADVpcSettingsList) UnmarshalJSON Uses

func (l *DirectoryServiceMicrosoftADVpcSettingsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DirectoryServiceSimpleAD Uses

type DirectoryServiceSimpleAD struct {
    // A unique alias to assign to the directory. AWS Directory Service uses
    // the alias to construct the access URL for the directory, such as
    // http://alias.awsapps.com. By default, AWS CloudFormation does not
    // create an alias.
    CreateAlias *BoolExpr `json:"CreateAlias,omitempty"`

    // A description of the directory.
    Description *StringExpr `json:"Description,omitempty"`

    // Whether to enable single sign-on for a directory. If you don't specify
    // a value, AWS CloudFormation disables single sign-on by default.
    EnableSso *BoolExpr `json:"EnableSso,omitempty"`

    // The fully qualified name for the directory, such as corp.example.com.
    Name *StringExpr `json:"Name,omitempty"`

    // The password for the directory administrator. AWS Directory Service
    // creates a directory administrator account with the user name
    // Administrator and this password.
    Password *StringExpr `json:"Password,omitempty"`

    // The NetBIOS name of the on-premises directory, such as CORP.
    ShortName *StringExpr `json:"ShortName,omitempty"`

    // The size of the directory. For valid values, see CreateDirectory in
    // the AWS Directory Service API Reference.
    Size *StringExpr `json:"Size,omitempty"`

    // Specifies the VPC settings of the directory server.
    VpcSettings *DirectoryServiceSimpleADVpcSettings `json:"VpcSettings,omitempty"`
}

DirectoryServiceSimpleAD represents AWS::DirectoryService::SimpleAD

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html

func (DirectoryServiceSimpleAD) CfnResourceType Uses

func (s DirectoryServiceSimpleAD) CfnResourceType() string

CfnResourceType returns AWS::DirectoryService::SimpleAD to implement the ResourceProperties interface

type DirectoryServiceSimpleADVpcSettings Uses

type DirectoryServiceSimpleADVpcSettings struct {
    // A list of two subnet IDs for the directory servers. Each subnet must
    // be in different Availability Zones (AZ). AWS Directory Service creates
    // a directory server and a DNS server in each subnet.
    SubnetIds *StringListExpr `json:"SubnetIds,omitempty"`

    // The VPC ID in which to create the Simple AD directory.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

DirectoryServiceSimpleADVpcSettings represents AWS Directory Service SimpleAD VpcSettings

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html

type DirectoryServiceSimpleADVpcSettingsList Uses

type DirectoryServiceSimpleADVpcSettingsList []DirectoryServiceSimpleADVpcSettings

DirectoryServiceSimpleADVpcSettingsList represents a list of DirectoryServiceSimpleADVpcSettings

func (*DirectoryServiceSimpleADVpcSettingsList) UnmarshalJSON Uses

func (l *DirectoryServiceSimpleADVpcSettingsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBAttributeDefinitions Uses

type DynamoDBAttributeDefinitions struct {
    // The name of an attribute. Attribute names can be 1 – 255 characters
    // long and have no character restrictions.
    AttributeName *StringExpr `json:"AttributeName,omitempty"`

    // The data type for the attribute. You can specify S for string data, N
    // for numeric data, or B for binary data.
    AttributeType *StringExpr `json:"AttributeType,omitempty"`
}

DynamoDBAttributeDefinitions represents DynamoDB Attribute Definitions

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html

type DynamoDBAttributeDefinitionsList Uses

type DynamoDBAttributeDefinitionsList []DynamoDBAttributeDefinitions

DynamoDBAttributeDefinitionsList represents a list of DynamoDBAttributeDefinitions

func (*DynamoDBAttributeDefinitionsList) UnmarshalJSON Uses

func (l *DynamoDBAttributeDefinitionsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBGlobalSecondaryIndexes Uses

type DynamoDBGlobalSecondaryIndexes struct {
    // The name of the global secondary index. The index name can be 3 –
    // 255 characters long and have no character restrictions.
    IndexName *StringExpr `json:"IndexName,omitempty"`

    // The complete index key schema for the global secondary index, which
    // consists of one or more pairs of attribute names and key types.
    KeySchema *DynamoDBKeySchemaList `json:"KeySchema,omitempty"`

    // Attributes that are copied (projected) from the source table into the
    // index. These attributes are in addition to the primary key attributes
    // and index key attributes, which are automatically projected.
    Projection *DynamoDBProjectionObject `json:"Projection,omitempty"`

    // The provisioned throughput settings for the index.
    ProvisionedThroughput *DynamoDBProvisionedThroughput `json:"ProvisionedThroughput,omitempty"`
}

DynamoDBGlobalSecondaryIndexes represents DynamoDB Global Secondary Indexes

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html

type DynamoDBGlobalSecondaryIndexesList Uses

type DynamoDBGlobalSecondaryIndexesList []DynamoDBGlobalSecondaryIndexes

DynamoDBGlobalSecondaryIndexesList represents a list of DynamoDBGlobalSecondaryIndexes

func (*DynamoDBGlobalSecondaryIndexesList) UnmarshalJSON Uses

func (l *DynamoDBGlobalSecondaryIndexesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBKeySchema Uses

type DynamoDBKeySchema struct {
    // The attribute name that is used as the primary key for this table.
    // Primary key element names can be 1 – 255 characters long and have no
    // character restrictions.
    AttributeName *StringExpr `json:"AttributeName,omitempty"`

    // Represents the attribute data, consisting of the data type and the
    // attribute value itself. You can specify HASH or RANGE.
    KeyType *StringExpr `json:"KeyType,omitempty"`
}

DynamoDBKeySchema represents DynamoDB Key Schema

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html

type DynamoDBKeySchemaList Uses

type DynamoDBKeySchemaList []DynamoDBKeySchema

DynamoDBKeySchemaList represents a list of DynamoDBKeySchema

func (*DynamoDBKeySchemaList) UnmarshalJSON Uses

func (l *DynamoDBKeySchemaList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBLocalSecondaryIndexes Uses

type DynamoDBLocalSecondaryIndexes struct {
    // The name of the local secondary index. The index name can be 3 – 255
    // characters long and have no character restrictions.
    IndexName *StringExpr `json:"IndexName,omitempty"`

    // The complete index key schema for the local secondary index, which
    // consists of one or more pairs of attribute names and key types. For
    // local secondary indexes, the hash key must be the same as that of the
    // source table.
    KeySchema *DynamoDBKeySchemaList `json:"KeySchema,omitempty"`

    // Attributes that are copied (projected) from the source table into the
    // index. These attributes are additions to the primary key attributes
    // and index key attributes, which are automatically projected.
    Projection *DynamoDBProjectionObject `json:"Projection,omitempty"`
}

DynamoDBLocalSecondaryIndexes represents DynamoDB Local Secondary Indexes

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html

type DynamoDBLocalSecondaryIndexesList Uses

type DynamoDBLocalSecondaryIndexesList []DynamoDBLocalSecondaryIndexes

DynamoDBLocalSecondaryIndexesList represents a list of DynamoDBLocalSecondaryIndexes

func (*DynamoDBLocalSecondaryIndexesList) UnmarshalJSON Uses

func (l *DynamoDBLocalSecondaryIndexesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBProjectionObject Uses

type DynamoDBProjectionObject struct {
    // The non-key attribute names that are projected into the index.
    NonKeyAttributes *StringListExpr `json:"NonKeyAttributes,omitempty"`

    // The set of attributes that are projected into the index:
    ProjectionType *StringExpr `json:"ProjectionType,omitempty"`

    // Only the index and primary keys are projected into the index.
    KEYSXONLY interface{} `json:"KEYS_ONLY,omitempty"`

    // Only the specified table attributes are projected into the index. The
    // list of projected attributes are in NonKeyAttributes.
    INCLUDE interface{} `json:"INCLUDE,omitempty"`

    // All of the table attributes are projected into the index.
    ALL interface{} `json:"ALL,omitempty"`
}

DynamoDBProjectionObject represents DynamoDB Projection Object

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html

type DynamoDBProjectionObjectList Uses

type DynamoDBProjectionObjectList []DynamoDBProjectionObject

DynamoDBProjectionObjectList represents a list of DynamoDBProjectionObject

func (*DynamoDBProjectionObjectList) UnmarshalJSON Uses

func (l *DynamoDBProjectionObjectList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBProvisionedThroughput Uses

type DynamoDBProvisionedThroughput struct {
    // Sets the desired minimum number of consistent reads of items (up to
    // 1KB in size) per second for the specified table before Amazon DynamoDB
    // balances the load.
    ReadCapacityUnits *IntegerExpr `json:"ReadCapacityUnits,omitempty"`

    // Sets the desired minimum number of consistent writes of items (up to
    // 1KB in size) per second for the specified table before Amazon DynamoDB
    // balances the load.
    WriteCapacityUnits *IntegerExpr `json:"WriteCapacityUnits,omitempty"`
}

DynamoDBProvisionedThroughput represents DynamoDB Provisioned Throughput

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html

type DynamoDBProvisionedThroughputList Uses

type DynamoDBProvisionedThroughputList []DynamoDBProvisionedThroughput

DynamoDBProvisionedThroughputList represents a list of DynamoDBProvisionedThroughput

func (*DynamoDBProvisionedThroughputList) UnmarshalJSON Uses

func (l *DynamoDBProvisionedThroughputList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type DynamoDBTable Uses

type DynamoDBTable struct {
    // A list of AttributeName and AttributeType objects that describe the
    // key schema for the table and indexes.
    AttributeDefinitions *DynamoDBAttributeDefinitionsList `json:"AttributeDefinitions,omitempty"`

    // Global secondary indexes to be created on the table. You can create up
    // to 5 global secondary indexes.
    GlobalSecondaryIndexes *DynamoDBGlobalSecondaryIndexesList `json:"GlobalSecondaryIndexes,omitempty"`

    // Specifies the attributes that make up the primary key for the table.
    // The attributes in the KeySchema property must also be defined in the
    // AttributeDefinitions property.
    KeySchema *DynamoDBKeySchemaList `json:"KeySchema,omitempty"`

    // Local secondary indexes to be created on the table. You can create up
    // to 5 local secondary indexes. Each index is scoped to a given hash key
    // value. The size of each hash key can be up to 10 gigabytes.
    LocalSecondaryIndexes *DynamoDBLocalSecondaryIndexesList `json:"LocalSecondaryIndexes,omitempty"`

    // Throughput for the specified table, consisting of values for
    // ReadCapacityUnits and WriteCapacityUnits. For more information about
    // the contents of a provisioned throughput structure, see DynamoDB
    // Provisioned Throughput.
    ProvisionedThroughput *DynamoDBProvisionedThroughput `json:"ProvisionedThroughput,omitempty"`

    // The settings for the DynamoDB table stream, which capture changes to
    // items stored in the table.
    StreamSpecification *DynamoDBTableStreamSpecification `json:"StreamSpecification,omitempty"`

    // A name for the table. If you don't specify a name, AWS CloudFormation
    // generates a unique physical ID and uses that ID for the table name.
    // For more information, see Name Type.
    TableName *StringExpr `json:"TableName,omitempty"`
}

DynamoDBTable represents AWS::DynamoDB::Table

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html

func (DynamoDBTable) CfnResourceType Uses

func (s DynamoDBTable) CfnResourceType() string

CfnResourceType returns AWS::DynamoDB::Table to implement the ResourceProperties interface

type DynamoDBTableStreamSpecification Uses

type DynamoDBTableStreamSpecification struct {
    // Determines the information that the stream captures when an item in
    // the table is modified. For valid values, see StreamSpecification in
    // the Amazon DynamoDB API Reference.
    StreamViewType *StringExpr `json:"StreamViewType,omitempty"`
}

DynamoDBTableStreamSpecification represents DynamoDB Table StreamSpecification

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-streamspecification.html

type DynamoDBTableStreamSpecificationList Uses

type DynamoDBTableStreamSpecificationList []DynamoDBTableStreamSpecification

DynamoDBTableStreamSpecificationList represents a list of DynamoDBTableStreamSpecification

func (*DynamoDBTableStreamSpecificationList) UnmarshalJSON Uses

func (l *DynamoDBTableStreamSpecificationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2BlockDeviceMappingProperty Uses

type EC2BlockDeviceMappingProperty struct {
    // The name of the device within Amazon EC2.
    DeviceName *StringExpr `json:"DeviceName,omitempty"`

    // Required: Conditional You can specify either VirtualName or Ebs, but
    // not both.
    Ebs *ElasticBlockStoreBlockDeviceProperty `json:"Ebs,omitempty"`

    // This property can be used to unmap a defined device.
    NoDevice interface{} `json:"NoDevice,omitempty"`

    // The name of the virtual device. The name must be in the form
    // ephemeralX where X is a number starting from zero (0); for example,
    // ephemeral0.
    VirtualName *StringExpr `json:"VirtualName,omitempty"`
}

EC2BlockDeviceMappingProperty represents Amazon EC2 Block Device Mapping Property

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html

type EC2BlockDeviceMappingPropertyList Uses

type EC2BlockDeviceMappingPropertyList []EC2BlockDeviceMappingProperty

EC2BlockDeviceMappingPropertyList represents a list of EC2BlockDeviceMappingProperty

func (*EC2BlockDeviceMappingPropertyList) UnmarshalJSON Uses

func (l *EC2BlockDeviceMappingPropertyList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceServiceDeploymentConfiguration Uses

type EC2ContainerServiceServiceDeploymentConfiguration struct {
    // The maximum number of tasks, specified as a percentage of the Amazon
    // ECS service's DesiredCount value, that can run in a service during a
    // deployment. To calculate the maximum number of tasks, Amazon ECS uses
    // this formula: the value of DesiredCount * (the value of the
    // MaximumPercent/100), rounded down to the nearest integer value.
    MaximumPercent *IntegerExpr `json:"MaximumPercent,omitempty"`

    // The minimum number of tasks, specified as a percentage of the Amazon
    // ECS service's DesiredCount value, that must continue to run and remain
    // healthy during a deployment. To calculate the minimum number of tasks,
    // Amazon ECS uses this formula: the value of DesiredCount * (the value
    // of the MinimumHealthyPercent/100), rounded up to the nearest integer
    // value.
    MinimumHealthyPercent *IntegerExpr `json:"MinimumHealthyPercent,omitempty"`
}

EC2ContainerServiceServiceDeploymentConfiguration represents Amazon EC2 Container Service Service DeploymentConfiguration

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html

type EC2ContainerServiceServiceDeploymentConfigurationList Uses

type EC2ContainerServiceServiceDeploymentConfigurationList []EC2ContainerServiceServiceDeploymentConfiguration

EC2ContainerServiceServiceDeploymentConfigurationList represents a list of EC2ContainerServiceServiceDeploymentConfiguration

func (*EC2ContainerServiceServiceDeploymentConfigurationList) UnmarshalJSON Uses

func (l *EC2ContainerServiceServiceDeploymentConfigurationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceServiceLoadBalancers Uses

type EC2ContainerServiceServiceLoadBalancers struct {
    // The name of a container to use with the load balancer.
    ContainerName *StringExpr `json:"ContainerName,omitempty"`

    // The port number on the container to direct load balancer traffic to.
    // Your container instances must allow ingress traffic on this port.
    ContainerPort *IntegerExpr `json:"ContainerPort,omitempty"`

    // The name of a Classic Load Balancer to associate with the Amazon ECS
    // service.
    LoadBalancerName *StringExpr `json:"LoadBalancerName,omitempty"`

    // An Application load balancer target group Amazon Resource Name (ARN)
    // to associate with the Amazon ECS service.
    TargetGroupArn *StringExpr `json:"TargetGroupArn,omitempty"`
}

EC2ContainerServiceServiceLoadBalancers represents Amazon EC2 Container Service Service LoadBalancers

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html

type EC2ContainerServiceServiceLoadBalancersList Uses

type EC2ContainerServiceServiceLoadBalancersList []EC2ContainerServiceServiceLoadBalancers

EC2ContainerServiceServiceLoadBalancersList represents a list of EC2ContainerServiceServiceLoadBalancers

func (*EC2ContainerServiceServiceLoadBalancersList) UnmarshalJSON Uses

func (l *EC2ContainerServiceServiceLoadBalancersList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitions Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitions struct {
    // The CMD value to pass to the container. For more information about the
    // Docker CMD parameter, see
    // https://docs.docker.com/engine/reference/builder/#/cmd.
    Command *StringListExpr `json:"Command,omitempty"`

    // The minimum number of CPU units to reserve for the container.
    // Containers share unallocated CPU units with other containers on the
    // instance by using the same ratio as their allocated CPU units. For
    // more information, see the cpu content for the ContainerDefinition data
    // type in the Amazon EC2 Container Service API Reference.
    Cpu *IntegerExpr `json:"Cpu,omitempty"`

    // Indicates whether networking is disabled within the container.
    DisableNetworking *BoolExpr `json:"DisableNetworking,omitempty"`

    // A list of DNS search domains that are provided to the container. The
    // domain names that the DNS logic looks up when a process attempts to
    // access a bare unqualified hostname.
    DnsSearchDomains *StringListExpr `json:"DnsSearchDomains,omitempty"`

    // A list of DNS servers that Amazon ECS provides to the container.
    DnsServers *StringListExpr `json:"DnsServers,omitempty"`

    // A key-value map of labels for the container.
    DockerLabels interface{} `json:"DockerLabels,omitempty"`

    // A list of custom labels for SELinux and AppArmor multi-level security
    // systems. For more information, see the dockerSecurityOptions content
    // for the ContainerDefinition data type in the Amazon EC2 Container
    // Service API Reference.
    DockerSecurityOptions *StringListExpr `json:"DockerSecurityOptions,omitempty"`

    // The ENTRYPOINT value to pass to the container. For more information
    // about the Docker ENTRYPOINT parameter, see
    // https://docs.docker.com/reference/builder/#entrypoint.
    EntryPoint *StringListExpr `json:"EntryPoint,omitempty"`

    // The environment variables to pass to the container.
    Environment *EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironmentList `json:"Environment,omitempty"`

    // Indicates whether the task stops if this container fails. If you
    // specify true and the container fails, all other containers in the task
    // stop. If you specify false and the container fails, none of the other
    // containers in the task is affected. This value is true by default.
    Essential *BoolExpr `json:"Essential,omitempty"`

    // A list of hostnames and IP address mappings to append to the
    // /etc/hosts file on the container.
    ExtraHosts *EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntryList `json:"ExtraHosts,omitempty"`

    // The name that Docker will use for the container's hostname.
    Hostname *StringExpr `json:"Hostname,omitempty"`

    // The image to use for a container, which is passed directly to the
    // Docker daemon. You can use images in the Docker Hub registry or
    // specify other repositories (repository-url/image:tag).
    Image *StringExpr `json:"Image,omitempty"`

    // The name of another container to connect to. With links, containers
    // can communicate with each other without using port mappings.
    Links *StringListExpr `json:"Links,omitempty"`

    // Configures a custom log driver for the container. For more
    // information, see the logConfiguration content for the
    // ContainerDefinition data type in the Amazon EC2 Container Service API
    // Reference.
    LogConfiguration *EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfiguration `json:"LogConfiguration,omitempty"`

    // The number of MiB of memory to reserve for the container. If your
    // container attempts to exceed the allocated memory, the container is
    // terminated.
    Memory *IntegerExpr `json:"Memory,omitempty"`

    // The number of MiB of memory to reserve for the container. When system
    // memory is under contention, Docker attempts to keep the container
    // memory within the limit. If the container requires more memory, it can
    // consume up to the value specified by the Memory property or all of the
    // available memory on the container instance, whichever comes first.
    // This is called a soft limit.
    MemoryReservation *IntegerExpr `json:"MemoryReservation,omitempty"`

    // The mount points for data volumes in the container.
    MountPoints *EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPointsList `json:"MountPoints,omitempty"`

    // A name for the container.
    Name *StringExpr `json:"Name,omitempty"`

    // A mapping of the container port to a host port. Port mappings enable
    // containers to access ports on the host container instance to send or
    // receive traffic.
    PortMappings *EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappingsList `json:"PortMappings,omitempty"`

    // Indicates whether the container is given full access to the host
    // container instance.
    Privileged *BoolExpr `json:"Privileged,omitempty"`

    // Indicates whether the container's root file system is mounted as read
    // only.
    ReadonlyRootFilesystem *BoolExpr `json:"ReadonlyRootFilesystem,omitempty"`

    // A list of ulimits to set in the container. The ulimits set constraints
    // on how much resources a container can consume so that it doesn't
    // deplete all available resources on the host.
    Ulimits *EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimitList `json:"Ulimits,omitempty"`

    // The user name to use inside the container.
    User *StringExpr `json:"User,omitempty"`

    // The data volumes to mount from another container.
    VolumesFrom *EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFromList `json:"VolumesFrom,omitempty"`

    // The working directory in the container in which to run commands.
    WorkingDirectory *StringExpr `json:"WorkingDirectory,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitions represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironment Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironment struct {
    // The name of the environment variable.
    Name *StringExpr `json:"Name,omitempty"`

    // The value of the environment variable.
    Value *StringExpr `json:"Value,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironment represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions Environment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironmentList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironmentList []EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironment

EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironmentList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironment

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironmentList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsEnvironmentList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntry Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntry struct {
    // The hostname to use in the /etc/hosts file.
    Hostname *StringExpr `json:"Hostname,omitempty"`

    // The IP address to use in the /etc/hosts file.
    IpAddress *StringExpr `json:"IpAddress,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntry represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions HostEntry

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntryList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntryList []EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntry

EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntryList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntry

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntryList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsHostEntryList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsList []EC2ContainerServiceTaskDefinitionContainerDefinitions

EC2ContainerServiceTaskDefinitionContainerDefinitionsList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitions

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfiguration Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfiguration struct {
    // The log driver to use for the container. This parameter requires that
    // your container instance uses Docker Remote API Version 1.18 or
    // greater. For more information, see the logDriver content for the
    // LogConfiguration data type in the Amazon EC2 Container Service API
    // Reference.
    LogDriver *StringExpr `json:"LogDriver,omitempty"`

    // The configuration options to send to the log driver. This parameter
    // requires that your container instance uses Docker Remote API Version
    // 1.18 or greater.
    Options interface{} `json:"Options,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfiguration represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions LogConfiguration

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfigurationList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfigurationList []EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfiguration

EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfigurationList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfiguration

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfigurationList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsLogConfigurationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPoints Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPoints struct {
    // The path on the container that indicates where you want to mount the
    // volume.
    ContainerPath *StringExpr `json:"ContainerPath,omitempty"`

    // The name of the volume to mount.
    SourceVolume *StringExpr `json:"SourceVolume,omitempty"`

    // Indicates whether the container can write to the volume. If you
    // specify true, the container has read-only access to the volume. If you
    // specify false, the container can write to the volume. By default, the
    // value is false.
    ReadOnly *BoolExpr `json:"ReadOnly,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPoints represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions MountPoints

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPointsList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPointsList []EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPoints

EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPointsList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPoints

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPointsList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsMountPointsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappings Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappings struct {
    // The port number on the container bound to the host port.
    ContainerPort *IntegerExpr `json:"ContainerPort,omitempty"`

    // The host port number on the container instance that you want to
    // reserve for your container. You can specify a non-reserved host port
    // for your container port mapping, omit the host port, or set the host
    // port to 0. If you specify a container port but no host port, your
    // container host port is assigned automatically .
    HostPort *IntegerExpr `json:"HostPort,omitempty"`

    // The protocol used for the port mapping. For valid values, see the
    // protocol parameter in the Amazon EC2 Container Service Developer
    // Guide. By default, AWS CloudFormation specifies tcp.
    Protocol *StringExpr `json:"Protocol,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappings represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions PortMappings

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappingsList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappingsList []EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappings

EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappingsList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappings

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappingsList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsPortMappingsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimit Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimit struct {
    // The hard limit for the ulimit type.
    HardLimit *IntegerExpr `json:"HardLimit,omitempty"`

    // The type of ulimit. For valid values, see the name content for the
    // Ulimit data type in the Amazon EC2 Container Service API Reference.
    Name *StringExpr `json:"Name,omitempty"`

    // The soft limit for the ulimit type.
    SoftLimit *IntegerExpr `json:"SoftLimit,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimit represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions Ulimit

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimitList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimitList []EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimit

EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimitList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimit

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimitList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsUlimitList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFrom Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFrom struct {
    // The name of the container that has the volumes to mount.
    SourceContainer *StringExpr `json:"SourceContainer,omitempty"`

    // Indicates whether the container can write to the volume. If you
    // specify true, the container has read-only access to the volume. If you
    // specify false, the container can write to the volume. By default, the
    // value is false.
    ReadOnly *BoolExpr `json:"ReadOnly,omitempty"`
}

EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFrom represents Amazon EC2 Container Service TaskDefinition ContainerDefinitions VolumesFrom

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html

type EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFromList Uses

type EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFromList []EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFrom

EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFromList represents a list of EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFrom

func (*EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFromList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionContainerDefinitionsVolumesFromList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionVolumes Uses

type EC2ContainerServiceTaskDefinitionVolumes struct {
    // The name of the volume. To specify mount points in your container
    // definitions, use the value of this property.
    Name *StringExpr `json:"Name,omitempty"`

    // Determines whether your data volume persists on the host container
    // instance and at the location where it is stored.
    Host *EC2ContainerServiceTaskDefinitionVolumesHost `json:"Host,omitempty"`
}

EC2ContainerServiceTaskDefinitionVolumes represents Amazon EC2 Container Service TaskDefinition Volumes

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html

type EC2ContainerServiceTaskDefinitionVolumesHost Uses

type EC2ContainerServiceTaskDefinitionVolumesHost struct {
    // The data volume path on the host container instance.
    SourcePath *StringExpr `json:"SourcePath,omitempty"`
}

EC2ContainerServiceTaskDefinitionVolumesHost represents Amazon EC2 Container Service TaskDefinition Volumes Host

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes-host.html

type EC2ContainerServiceTaskDefinitionVolumesHostList Uses

type EC2ContainerServiceTaskDefinitionVolumesHostList []EC2ContainerServiceTaskDefinitionVolumesHost

EC2ContainerServiceTaskDefinitionVolumesHostList represents a list of EC2ContainerServiceTaskDefinitionVolumesHost

func (*EC2ContainerServiceTaskDefinitionVolumesHostList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionVolumesHostList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2ContainerServiceTaskDefinitionVolumesList Uses

type EC2ContainerServiceTaskDefinitionVolumesList []EC2ContainerServiceTaskDefinitionVolumes

EC2ContainerServiceTaskDefinitionVolumesList represents a list of EC2ContainerServiceTaskDefinitionVolumes

func (*EC2ContainerServiceTaskDefinitionVolumesList) UnmarshalJSON Uses

func (l *EC2ContainerServiceTaskDefinitionVolumesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2CustomerGateway Uses

type EC2CustomerGateway struct {
    // The customer gateway's Border Gateway Protocol (BGP) Autonomous System
    // Number (ASN).
    BgpAsn *IntegerExpr `json:"BgpAsn,omitempty"`

    // The internet-routable IP address for the customer gateway's outside
    // interface. The address must be static.
    IpAddress *StringExpr `json:"IpAddress,omitempty"`

    // The tags that you want to attach to the resource.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The type of VPN connection that this customer gateway supports.
    Type *StringExpr `json:"Type,omitempty"`
}

EC2CustomerGateway represents AWS::EC2::CustomerGateway

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html

func (EC2CustomerGateway) CfnResourceType Uses

func (s EC2CustomerGateway) CfnResourceType() string

CfnResourceType returns AWS::EC2::CustomerGateway to implement the ResourceProperties interface

type EC2DHCPOptions Uses

type EC2DHCPOptions struct {
    // A domain name of your choice.
    DomainName *StringExpr `json:"DomainName,omitempty"`

    // The IP (IPv4) address of a domain name server. You can specify up to
    // four addresses.
    DomainNameServers *StringListExpr `json:"DomainNameServers,omitempty"`

    // The IP address (IPv4) of a NetBIOS name server. You can specify up to
    // four addresses.
    NetbiosNameServers *StringListExpr `json:"NetbiosNameServers,omitempty"`

    // An integer value indicating the NetBIOS node type:
    NetbiosNodeType interface{} `json:"NetbiosNodeType,omitempty"`

    // The IP address (IPv4) of a Network Time Protocol (NTP) server. You can
    // specify up to four addresses.
    NtpServers *StringListExpr `json:"NtpServers,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this resource.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

EC2DHCPOptions represents AWS::EC2::DHCPOptions

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html

func (EC2DHCPOptions) CfnResourceType Uses

func (s EC2DHCPOptions) CfnResourceType() string

CfnResourceType returns AWS::EC2::DHCPOptions to implement the ResourceProperties interface

type EC2EIP Uses

type EC2EIP struct {
    // The Instance ID of the Amazon EC2 instance that you want to associate
    // with this Elastic IP address.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // Set to vpc to allocate the address to your Virtual Private Cloud
    // (VPC). No other values are supported.
    Domain *StringExpr `json:"Domain,omitempty"`
}

EC2EIP represents AWS::EC2::EIP

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html

func (EC2EIP) CfnResourceType Uses

func (s EC2EIP) CfnResourceType() string

CfnResourceType returns AWS::EC2::EIP to implement the ResourceProperties interface

type EC2EIPAssociation Uses

type EC2EIPAssociation struct {
    // [EC2-VPC] Allocation ID for the VPC Elastic IP address you want to
    // associate with an Amazon EC2 instance in your VPC.
    AllocationId *StringExpr `json:"AllocationId,omitempty"`

    // Elastic IP address that you want to associate with the Amazon EC2
    // instance specified by the InstanceId property. You can specify an
    // existing Elastic IP address or a reference to an Elastic IP address
    // allocated with a AWS::EC2::EIP resource.
    EIP *StringExpr `json:"EIP,omitempty"`

    // Instance ID of the Amazon EC2 instance that you want to associate with
    // the Elastic IP address specified by the EIP property. If the instance
    // has more than one network interface, you must specify a network
    // interface ID.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // [EC2-VPC] The ID of the network interface to associate with the
    // Elastic IP address. If the instance has more than one network
    // interface, you must specify a network interface ID.
    NetworkInterfaceId *StringExpr `json:"NetworkInterfaceId,omitempty"`

    // [EC2-VPC] The private IP address that you want to associate with the
    // Elastic IP address. The private IP address is restricted to the
    // primary and secondary private IP addresses that are associated with
    // the network interface. By default, the private IP address that is
    // associated with the EIP is the primary private IP address of the
    // network interface.
    PrivateIpAddress *StringExpr `json:"PrivateIpAddress,omitempty"`
}

EC2EIPAssociation represents AWS::EC2::EIPAssociation

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html

func (EC2EIPAssociation) CfnResourceType Uses

func (s EC2EIPAssociation) CfnResourceType() string

CfnResourceType returns AWS::EC2::EIPAssociation to implement the ResourceProperties interface

type EC2FlowLog Uses

type EC2FlowLog struct {
    // The Amazon Resource Name (ARN) of an AWS Identity and Access
    // Management (IAM) role that permits Amazon EC2 to publish flow logs to
    // a CloudWatch Logs log group in your account.
    DeliverLogsPermissionArn *StringExpr `json:"DeliverLogsPermissionArn,omitempty"`

    // The name of a new or existing CloudWatch Logs log group where Amazon
    // EC2 publishes your flow logs.
    LogGroupName *StringExpr `json:"LogGroupName,omitempty"`

    // The ID of the subnet, network interface, or VPC for which you want to
    // create a flow log.
    ResourceId *StringExpr `json:"ResourceId,omitempty"`

    // The type of resource that you specified in the ResourceId property.
    // For example, if you specified a VPC ID for the ResourceId property,
    // specify VPC for this property. For valid values, see the ResourceType
    // parameter for the CreateFlowLogs action in the Amazon EC2 API
    // Reference.
    ResourceType *StringExpr `json:"ResourceType,omitempty"`

    // The type of traffic to log. You can log traffic that the resource
    // accepts or rejects, or all traffic. For valid values, see the
    // TrafficType parameter for the CreateFlowLogs action in the Amazon EC2
    // API Reference.
    TrafficType *StringExpr `json:"TrafficType,omitempty"`
}

EC2FlowLog represents AWS::EC2::FlowLog

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html

func (EC2FlowLog) CfnResourceType Uses

func (s EC2FlowLog) CfnResourceType() string

CfnResourceType returns AWS::EC2::FlowLog to implement the ResourceProperties interface

type EC2Host Uses

type EC2Host struct {
    // Indicates if the host accepts EC2 instances with only matching
    // configurations or if instances must also specify the host ID.
    // Instances that don't specify a host ID can't launch onto a host with
    // AutoPlacement set to off. By default, AWS CloudFormation sets this
    // property to on. For more information, see Understanding Instance
    // Placement and Host Affinity in the Amazon EC2 User Guide for Linux
    // Instances.
    AutoPlacement *StringExpr `json:"AutoPlacement,omitempty"`

    // The Availability Zone (AZ) in which to launch the dedicated host.
    AvailabilityZone *StringExpr `json:"AvailabilityZone,omitempty"`

    // The instance type that the dedicated host accepts. Only instances of
    // this type can be launched onto the host. For more information, see
    // Supported Instance Types in the Amazon EC2 User Guide for Linux
    // Instances.
    InstanceType *StringExpr `json:"InstanceType,omitempty"`
}

EC2Host represents AWS::EC2::Host

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html

func (EC2Host) CfnResourceType Uses

func (s EC2Host) CfnResourceType() string

CfnResourceType returns AWS::EC2::Host to implement the ResourceProperties interface

type EC2Instance Uses

type EC2Instance struct {
    // Indicates whether Amazon Elastic Compute Cloud (Amazon EC2) always
    // associates the instance with a dedicated host. If you want Amazon EC2
    // to always restart the instance (if it was stopped) onto the same host
    // on which it was launched, specify host. If you want Amazon EC2 to
    // restart the instance on any available host, but to try to launch the
    // instance onto the last host it ran on (on a best-effort basis),
    // specify default.
    Affinity *StringExpr `json:"Affinity,omitempty"`

    // Specifies the name of the Availability Zone in which the instance is
    // located.
    AvailabilityZone *StringExpr `json:"AvailabilityZone,omitempty"`

    // Defines a set of Amazon Elastic Block Store block device mappings,
    // ephemeral instance store block device mappings, or both. For more
    // information, see Amazon Elastic Block Store or Amazon EC2 Instance
    // Store in the Amazon EC2 User Guide for Linux Instances.
    BlockDeviceMappings *EC2BlockDeviceMappingPropertyList `json:"BlockDeviceMappings,omitempty"`

    // Specifies whether the instance can be terminated through the API.
    DisableApiTermination *BoolExpr `json:"DisableApiTermination,omitempty"`

    // Specifies whether the instance is optimized for Amazon Elastic Block
    // Store I/O. This optimization provides dedicated throughput to Amazon
    // EBS and an optimized configuration stack to provide optimal EBS I/O
    // performance.
    EbsOptimized *BoolExpr `json:"EbsOptimized,omitempty"`

    // If you specify host for the Affinity property, the ID of a dedicated
    // host that the instance is associated with. If you don't specify an ID,
    // Amazon EC2 launches the instance onto any available, compatible
    // dedicated host in your account. This type of launch is called an
    // untargeted launch. Note that for untargeted launches, you must have a
    // compatible, dedicated host available to successfully launch instances.
    HostId *StringExpr `json:"HostId,omitempty"`

    // The physical ID of an instance profile or a reference to an
    // AWS::IAM::InstanceProfile resource.
    IamInstanceProfile *StringExpr `json:"IamInstanceProfile,omitempty"`

    // Provides the unique ID of the Amazon Machine Image (AMI) that was
    // assigned during registration.
    ImageId *StringExpr `json:"ImageId,omitempty"`

    // Indicates whether an instance stops or terminates when you shut down
    // the instance from the instance's operating system shutdown command.
    // You can specify stop or terminate. For more information, see the
    // RunInstances command in the Amazon EC2 API Reference.
    InstanceInitiatedShutdownBehavior *StringExpr `json:"InstanceInitiatedShutdownBehavior,omitempty"`

    // The instance type, such as t2.micro. The default type is "m3.medium".
    // For a list of instance types, see Instance Families and Types.
    InstanceType *StringExpr `json:"InstanceType,omitempty"`

    // The number of IPv6 addresses to associate with the instance's primary
    // network interface. Amazon EC2 automatically selects the IPv6 addresses
    // from the subnet range. To specify specific IPv6 addresses, use the
    // Ipv6Addresses property and don't specify this property.
    Ipv6AddressCount *IntegerExpr `json:"Ipv6AddressCount,omitempty"`

    // One or more specific IPv6 addresses from the IPv6 CIDR block range of
    // your subnet to associate with the instance's primary network
    // interface. To specify a number of IPv6 addresses, use the
    // Ipv6AddressCount property and don't specify this property.
    Ipv6Addresses *EC2NetworkInterfaceIpv6AddressesList `json:"Ipv6Addresses,omitempty"`

    // The kernel ID.
    KernelId *StringExpr `json:"KernelId,omitempty"`

    // Provides the name of the Amazon EC2 key pair.
    KeyName *StringExpr `json:"KeyName,omitempty"`

    // Specifies whether detailed monitoring is enabled for the instance.
    Monitoring *BoolExpr `json:"Monitoring,omitempty"`

    // A list of embedded objects that describes the network interfaces to
    // associate with this instance.
    NetworkInterfaces *EC2NetworkInterfaceEmbeddedList `json:"NetworkInterfaces,omitempty"`

    // The name of an existing placement group that you want to launch the
    // instance into (for cluster instances).
    PlacementGroupName *StringExpr `json:"PlacementGroupName,omitempty"`

    // The private IP address for this instance.
    PrivateIpAddress *StringExpr `json:"PrivateIpAddress,omitempty"`

    // The ID of the RAM disk to select. Some kernels require additional
    // drivers at launch. Check the kernel requirements for information about
    // whether you need to specify a RAM disk. To find kernel requirements,
    // go to the AWS Resource Center and search for the kernel ID.
    RamdiskId *StringExpr `json:"RamdiskId,omitempty"`

    // A list that contains the security group IDs for VPC security groups to
    // assign to the Amazon EC2 instance. If you specified the
    // NetworkInterfaces property, do not specify this property.
    SecurityGroupIds *StringListExpr `json:"SecurityGroupIds,omitempty"`

    // Valid only for Amazon EC2 security groups. A list that contains the
    // Amazon EC2 security groups to assign to the Amazon EC2 instance. The
    // list can contain both the name of existing Amazon EC2 security groups
    // or references to AWS::EC2::SecurityGroup resources created in the
    // template.
    SecurityGroups *StringListExpr `json:"SecurityGroups,omitempty"`

    // Controls whether source/destination checking is enabled on the
    // instance. Also determines if an instance in a VPC will perform network
    // address translation (NAT).
    SourceDestCheck *BoolExpr `json:"SourceDestCheck,omitempty"`

    // The Amazon EC2 Systems Manager (SSM) document and parameter values to
    // associate with this instance. To use this property, you must specify
    // an IAM role for the instance. For more information, see Prerequisites
    // for Remotely Running Commands on EC2 Instances in the Amazon EC2 User
    // Guide for Windows Instances.
    SsmAssociations *EC2InstanceSsmAssociationsList `json:"SsmAssociations,omitempty"`

    // If you're using Amazon VPC, this property specifies the ID of the
    // subnet that you want to launch the instance into. If you specified the
    // NetworkInterfaces property, do not specify this property.
    SubnetId *StringExpr `json:"SubnetId,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this instance.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The tenancy of the instance that you want to launch, such as default,
    // dedicated, or host. If you specify a tenancy value of dedicated or
    // host, you must launch the instance in a VPC. For more information, see
    // Dedicated Instances in the Amazon VPC User Guide.
    Tenancy *StringExpr `json:"Tenancy,omitempty"`

    // Base64-encoded MIME user data that is made available to the instances.
    UserData *StringExpr `json:"UserData,omitempty"`

    // The Amazon EBS volumes to attach to the instance.
    Volumes *EC2MountPointList `json:"Volumes,omitempty"`

    // Reserved.
    AdditionalInfo *StringExpr `json:"AdditionalInfo,omitempty"`
}

EC2Instance represents AWS::EC2::Instance

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html

func (EC2Instance) CfnResourceType Uses

func (s EC2Instance) CfnResourceType() string

CfnResourceType returns AWS::EC2::Instance to implement the ResourceProperties interface

type EC2InstanceSsmAssociations Uses

type EC2InstanceSsmAssociations struct {
    // The input parameter values to use with the associated SSM document.
    AssociationParameters *EC2InstanceSsmAssociationsAssociationParametersList `json:"AssociationParameters,omitempty"`

    // The name of an SSM document to associate with the instance.
    DocumentName *StringExpr `json:"DocumentName,omitempty"`
}

EC2InstanceSsmAssociations represents Amazon EC2 Instance SsmAssociations

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html

type EC2InstanceSsmAssociationsAssociationParameters Uses

type EC2InstanceSsmAssociationsAssociationParameters struct {
    // The name of an input parameter that is in the associated SSM document.
    Key *StringExpr `json:"Key,omitempty"`

    // The value of an input parameter.
    Value *StringListExpr `json:"Value,omitempty"`
}

EC2InstanceSsmAssociationsAssociationParameters represents Amazon EC2 Instance SsmAssociations AssociationParameters

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html

type EC2InstanceSsmAssociationsAssociationParametersList Uses

type EC2InstanceSsmAssociationsAssociationParametersList []EC2InstanceSsmAssociationsAssociationParameters

EC2InstanceSsmAssociationsAssociationParametersList represents a list of EC2InstanceSsmAssociationsAssociationParameters

func (*EC2InstanceSsmAssociationsAssociationParametersList) UnmarshalJSON Uses

func (l *EC2InstanceSsmAssociationsAssociationParametersList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2InstanceSsmAssociationsList Uses

type EC2InstanceSsmAssociationsList []EC2InstanceSsmAssociations

EC2InstanceSsmAssociationsList represents a list of EC2InstanceSsmAssociations

func (*EC2InstanceSsmAssociationsList) UnmarshalJSON Uses

func (l *EC2InstanceSsmAssociationsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2InternetGateway Uses

type EC2InternetGateway struct {
    // An arbitrary set of tags (key–value pairs) for this resource.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

EC2InternetGateway represents AWS::EC2::InternetGateway

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internet-gateway.html

func (EC2InternetGateway) CfnResourceType Uses

func (s EC2InternetGateway) CfnResourceType() string

CfnResourceType returns AWS::EC2::InternetGateway to implement the ResourceProperties interface

type EC2MountPoint Uses

type EC2MountPoint struct {
    // How the device is exposed to the instance (such as /dev/sdh, or xvdh).
    Device *StringExpr `json:"Device,omitempty"`

    // The ID of the Amazon EBS volume. The volume and instance must be
    // within the same Availability Zone and the instance must be running.
    VolumeId *StringExpr `json:"VolumeId,omitempty"`
}

EC2MountPoint represents EC2 MountPoint Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html

type EC2MountPointList Uses

type EC2MountPointList []EC2MountPoint

EC2MountPointList represents a list of EC2MountPoint

func (*EC2MountPointList) UnmarshalJSON Uses

func (l *EC2MountPointList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2NatGateway Uses

type EC2NatGateway struct {
    // The allocation ID of an Elastic IP address to associate with the NAT
    // gateway. If the Elastic IP address is associated with another
    // resource, you must first disassociate it.
    AllocationId *StringExpr `json:"AllocationId,omitempty"`

    // The public subnet in which to create the NAT gateway.
    SubnetId *StringExpr `json:"SubnetId,omitempty"`
}

EC2NatGateway represents AWS::EC2::NatGateway

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html

func (EC2NatGateway) CfnResourceType Uses

func (s EC2NatGateway) CfnResourceType() string

CfnResourceType returns AWS::EC2::NatGateway to implement the ResourceProperties interface

type EC2NetworkAcl Uses

type EC2NetworkAcl struct {
    // An arbitrary set of tags (key–value pairs) for this ACL.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The ID of the VPC where the network ACL will be created.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

EC2NetworkAcl represents AWS::EC2::NetworkAcl

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html

func (EC2NetworkAcl) CfnResourceType Uses

func (s EC2NetworkAcl) CfnResourceType() string

CfnResourceType returns AWS::EC2::NetworkAcl to implement the ResourceProperties interface

type EC2NetworkAclEntry Uses

type EC2NetworkAclEntry struct {
    // The IPv4 CIDR range to allow or deny, in CIDR notation (e.g.,
    // 172.16.0.0/24).
    CidrBlock *StringExpr `json:"CidrBlock,omitempty"`

    // Whether this rule applies to egress traffic from the subnet (true) or
    // ingress traffic to the subnet (false). By default, AWS CloudFormation
    // specifies false.
    Egress *BoolExpr `json:"Egress,omitempty"`

    // The Internet Control Message Protocol (ICMP) code and type.
    Icmp *EC2NetworkAclEntryIcmp `json:"Icmp,omitempty"`

    // The IPv6 CIDR range to allow or deny, in CIDR notation.
    Ipv6CidrBlock *StringExpr `json:"Ipv6CidrBlock,omitempty"`

    // ID of the ACL where the entry will be created.
    NetworkAclId *StringExpr `json:"NetworkAclId,omitempty"`

    // The range of port numbers for the UDP/TCP protocol.
    PortRange *EC2NetworkAclEntryPortRange `json:"PortRange,omitempty"`

    // The IP protocol that the rule applies to. You must specify -1 or a
    // protocol number (go to Protocol Numbers at iana.org). You can specify
    // -1 for all protocols.
    Protocol *IntegerExpr `json:"Protocol,omitempty"`

    // Whether to allow or deny traffic that matches the rule; valid values
    // are "allow" or "deny".
    RuleAction *StringExpr `json:"RuleAction,omitempty"`

    // Rule number to assign to the entry, such as 100. ACL entries are
    // processed in ascending order by rule number. Entries can't use the
    // same rule number unless one is an egress rule and the other is an
    // ingress rule. For valid values, see the CreateNetworkAclEntry action
    // in the Amazon EC2 API Reference.
    RuleNumber *IntegerExpr `json:"RuleNumber,omitempty"`
}

EC2NetworkAclEntry represents AWS::EC2::NetworkAclEntry

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html

func (EC2NetworkAclEntry) CfnResourceType Uses

func (s EC2NetworkAclEntry) CfnResourceType() string

CfnResourceType returns AWS::EC2::NetworkAclEntry to implement the ResourceProperties interface

type EC2NetworkAclEntryIcmp Uses

type EC2NetworkAclEntryIcmp struct {
    // The Internet Control Message Protocol (ICMP) code. You can use -1 to
    // specify all ICMP codes for the given ICMP type.
    Code *IntegerExpr `json:"Code,omitempty"`

    // The Internet Control Message Protocol (ICMP) type. You can use -1 to
    // specify all ICMP types.
    Type *IntegerExpr `json:"Type,omitempty"`
}

EC2NetworkAclEntryIcmp represents EC2 NetworkAclEntry Icmp

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html

type EC2NetworkAclEntryIcmpList Uses

type EC2NetworkAclEntryIcmpList []EC2NetworkAclEntryIcmp

EC2NetworkAclEntryIcmpList represents a list of EC2NetworkAclEntryIcmp

func (*EC2NetworkAclEntryIcmpList) UnmarshalJSON Uses

func (l *EC2NetworkAclEntryIcmpList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2NetworkAclEntryPortRange Uses

type EC2NetworkAclEntryPortRange struct {
    // The first port in the range.
    From *IntegerExpr `json:"From,omitempty"`

    // The last port in the range.
    To  *IntegerExpr `json:"To,omitempty"`
}

EC2NetworkAclEntryPortRange represents EC2 NetworkAclEntry PortRange

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html

type EC2NetworkAclEntryPortRangeList Uses

type EC2NetworkAclEntryPortRangeList []EC2NetworkAclEntryPortRange

EC2NetworkAclEntryPortRangeList represents a list of EC2NetworkAclEntryPortRange

func (*EC2NetworkAclEntryPortRangeList) UnmarshalJSON Uses

func (l *EC2NetworkAclEntryPortRangeList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2NetworkInterface Uses

type EC2NetworkInterface struct {
    // The description of this network interface.
    Description *StringExpr `json:"Description,omitempty"`

    // A list of security group IDs associated with this network interface.
    GroupSet *StringListExpr `json:"GroupSet,omitempty"`

    // The number of IPv6 addresses to associate with the network interface.
    // Amazon EC2 automatically selects the IPv6 addresses from the subnet
    // range. To specify specific IPv6 addresses, use the Ipv6Addresses
    // property and don't specify this property.
    Ipv6AddressCount *IntegerExpr `json:"Ipv6AddressCount,omitempty"`

    // One or more specific IPv6 addresses from the IPv6 CIDR block range of
    // your subnet to associate with the network interface. If you're
    // specifying a number of IPv6 addresses, use the Ipv6AddressCount
    // property and don't specify this property.
    Ipv6Addresses *EC2NetworkInterfaceIpv6AddressesList `json:"Ipv6Addresses,omitempty"`

    // Assigns a single private IP address to the network interface, which is
    // used as the primary private IP address. If you want to specify
    // multiple private IP address, use the PrivateIpAddresses property.
    PrivateIpAddress *StringExpr `json:"PrivateIpAddress,omitempty"`

    // Assigns a list of private IP addresses to the network interface. You
    // can specify a primary private IP address by setting the value of the
    // Primary property to true in the PrivateIpAddressSpecification
    // property. If you want Amazon EC2 to automatically assign private IP
    // addresses, use the SecondaryPrivateIpAddressCount property and do not
    // specify this property.
    PrivateIpAddresses *EC2NetworkInterfacePrivateIPSpecificationList `json:"PrivateIpAddresses,omitempty"`

    // The number of secondary private IP addresses that Amazon EC2
    // automatically assigns to the network interface. Amazon EC2 uses the
    // value of the PrivateIpAddress property as the primary private IP
    // address. If you don't specify that property, Amazon EC2 automatically
    // assigns both the primary and secondary private IP addresses.
    SecondaryPrivateIpAddressCount *IntegerExpr `json:"SecondaryPrivateIpAddressCount,omitempty"`

    // Flag indicating whether traffic to or from the instance is validated.
    SourceDestCheck *BoolExpr `json:"SourceDestCheck,omitempty"`

    // The ID of the subnet to associate with the network interface.
    SubnetId *StringExpr `json:"SubnetId,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this network
    // interface.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

EC2NetworkInterface represents AWS::EC2::NetworkInterface

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html

func (EC2NetworkInterface) CfnResourceType Uses

func (s EC2NetworkInterface) CfnResourceType() string

CfnResourceType returns AWS::EC2::NetworkInterface to implement the ResourceProperties interface

type EC2NetworkInterfaceAttachment Uses

type EC2NetworkInterfaceAttachment struct {
    // Whether to delete the network interface when the instance terminates.
    // By default, this value is set to True.
    DeleteOnTermination *BoolExpr `json:"DeleteOnTermination,omitempty"`

    // The network interface's position in the attachment order. For example,
    // the first attached network interface has a DeviceIndex of 0.
    DeviceIndex *StringExpr `json:"DeviceIndex,omitempty"`

    // The ID of the instance to which you will attach the ENI.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // The ID of the ENI that you want to attach.
    NetworkInterfaceId *StringExpr `json:"NetworkInterfaceId,omitempty"`
}

EC2NetworkInterfaceAttachment represents AWS::EC2::NetworkInterfaceAttachment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html

func (EC2NetworkInterfaceAttachment) CfnResourceType Uses

func (s EC2NetworkInterfaceAttachment) CfnResourceType() string

CfnResourceType returns AWS::EC2::NetworkInterfaceAttachment to implement the ResourceProperties interface

type EC2NetworkInterfaceEmbedded Uses

type EC2NetworkInterfaceEmbedded struct {
    // Indicates whether the network interface receives a public IP address.
    // You can associate a public IP address with a network interface only if
    // it has a device index of eth0 and if it is a new network interface
    // (not an existing one). In other words, if you specify true, don't
    // specify a network interface ID. For more information, see Amazon EC2
    // Instance IP Addressing.
    AssociatePublicIpAddress *BoolExpr `json:"AssociatePublicIpAddress,omitempty"`

    // Whether to delete the network interface when the instance terminates.
    DeleteOnTermination *BoolExpr `json:"DeleteOnTermination,omitempty"`

    // The description of this network interface.
    Description *StringExpr `json:"Description,omitempty"`

    // The network interface's position in the attachment order.
    DeviceIndex *StringExpr `json:"DeviceIndex,omitempty"`

    // A list of security group IDs associated with this network interface.
    GroupSet *StringListExpr `json:"GroupSet,omitempty"`

    // An existing network interface ID.
    NetworkInterfaceId *StringExpr `json:"NetworkInterfaceId,omitempty"`

    // The number of IPv6 addresses to associate with the network interface.
    // Amazon EC2 automatically selects the IPv6 addresses from the subnet
    // range. To specify specific IPv6 addresses, use the Ipv6Addresses
    // property and don't specify this property.
    Ipv6AddressCount *IntegerExpr `json:"Ipv6AddressCount,omitempty"`

    // One or more specific IPv6 addresses from the IPv6 CIDR block range of
    // your subnet to associate with the network interface. To specify a
    // number of IPv6 addresses, use the Ipv6AddressCount property and don't
    // specify this property.
    Ipv6Addresses *EC2NetworkInterfaceIpv6AddressesList `json:"Ipv6Addresses,omitempty"`

    // Assigns a single private IP address to the network interface, which is
    // used as the primary private IP address. If you want to specify
    // multiple private IP address, use the PrivateIpAddresses property.
    PrivateIpAddress *StringExpr `json:"PrivateIpAddress,omitempty"`

    // Assigns a list of private IP addresses to the network interface. You
    // can specify a primary private IP address by setting the value of the
    // Primary property to true in the PrivateIpAddressSpecification
    // property. If you want Amazon EC2 to automatically assign private IP
    // addresses, use the SecondaryPrivateIpCount property and do not specify
    // this property.
    PrivateIpAddresses *EC2NetworkInterfacePrivateIPSpecificationList `json:"PrivateIpAddresses,omitempty"`

    // The number of secondary private IP addresses that Amazon EC2 auto
    // assigns to the network interface. Amazon EC2 uses the value of the
    // PrivateIpAddress property as the primary private IP address. If you
    // don't specify that property, Amazon EC2 auto assigns both the primary
    // and secondary private IP addresses.
    SecondaryPrivateIpAddressCount *IntegerExpr `json:"SecondaryPrivateIpAddressCount,omitempty"`

    // The ID of the subnet to associate with the network interface.
    SubnetId *StringExpr `json:"SubnetId,omitempty"`
}

EC2NetworkInterfaceEmbedded represents EC2 NetworkInterface Embedded Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html

type EC2NetworkInterfaceEmbeddedList Uses

type EC2NetworkInterfaceEmbeddedList []EC2NetworkInterfaceEmbedded

EC2NetworkInterfaceEmbeddedList represents a list of EC2NetworkInterfaceEmbedded

func (*EC2NetworkInterfaceEmbeddedList) UnmarshalJSON Uses

func (l *EC2NetworkInterfaceEmbeddedList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2NetworkInterfaceIpv6Addresses Uses

type EC2NetworkInterfaceIpv6Addresses struct {
    // The IPv6 address to associate with the network interface.
    Ipv6Address *StringExpr `json:"Ipv6Address,omitempty"`
}

EC2NetworkInterfaceIpv6Addresses represents EC2 NetworkInterface Ipv6Addresses

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv6addresses.html

type EC2NetworkInterfaceIpv6AddressesList Uses

type EC2NetworkInterfaceIpv6AddressesList []EC2NetworkInterfaceIpv6Addresses

EC2NetworkInterfaceIpv6AddressesList represents a list of EC2NetworkInterfaceIpv6Addresses

func (*EC2NetworkInterfaceIpv6AddressesList) UnmarshalJSON Uses

func (l *EC2NetworkInterfaceIpv6AddressesList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2NetworkInterfacePrivateIPSpecification Uses

type EC2NetworkInterfacePrivateIPSpecification struct {
    // The private IP address of the network interface.
    PrivateIpAddress *StringExpr `json:"PrivateIpAddress,omitempty"`

    // Sets the private IP address as the primary private address. You can
    // set only one primary private IP address. If you don't specify a
    // primary private IP address, Amazon EC2 automatically assigns a primary
    // private IP address.
    Primary *BoolExpr `json:"Primary,omitempty"`
}

EC2NetworkInterfacePrivateIPSpecification represents EC2 Network Interface Private IP Specification

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html

type EC2NetworkInterfacePrivateIPSpecificationList Uses

type EC2NetworkInterfacePrivateIPSpecificationList []EC2NetworkInterfacePrivateIPSpecification

EC2NetworkInterfacePrivateIPSpecificationList represents a list of EC2NetworkInterfacePrivateIPSpecification

func (*EC2NetworkInterfacePrivateIPSpecificationList) UnmarshalJSON Uses

func (l *EC2NetworkInterfacePrivateIPSpecificationList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2PlacementGroup Uses

type EC2PlacementGroup struct {
    // The placement strategy, which relates to the instance types that can
    // be added to the placement group. For example, for the cluster
    // strategy, you can cluster C4 instance types but not T2 instance types.
    // For valid values, see CreatePlacementGroup in the Amazon EC2 API
    // Reference. By default, AWS CloudFormation sets the value of this
    // property to cluster.
    Strategy *StringExpr `json:"Strategy,omitempty"`
}

EC2PlacementGroup represents AWS::EC2::PlacementGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html

func (EC2PlacementGroup) CfnResourceType Uses

func (s EC2PlacementGroup) CfnResourceType() string

CfnResourceType returns AWS::EC2::PlacementGroup to implement the ResourceProperties interface

type EC2Route Uses

type EC2Route struct {
    // The IPv4 CIDR address block used for the destination match. For
    // example, 0.0.0.0/0. Routing decisions are based on the most specific
    // match.
    DestinationCidrBlock *StringExpr `json:"DestinationCidrBlock,omitempty"`

    // The IPv6 CIDR address block used for the destination match. For
    // example, ::/0. Routing decisions are based on the most specific match.
    DestinationIpv6CidrBlock *StringExpr `json:"DestinationIpv6CidrBlock,omitempty"`

    // The ID of an Internet gateway or virtual private gateway that is
    // attached to your VPC. For example: igw-eaad4883.
    GatewayId *StringExpr `json:"GatewayId,omitempty"`

    // The ID of a NAT instance in your VPC. For example, i-1a2b3c4d.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // The ID of a NAT gateway. For example, nat-0a12bc456789de0fg.
    NatGatewayId *StringExpr `json:"NatGatewayId,omitempty"`

    // Allows the routing of network interface IDs.
    NetworkInterfaceId *StringExpr `json:"NetworkInterfaceId,omitempty"`

    // The ID of the route table where the route will be added.
    RouteTableId *StringExpr `json:"RouteTableId,omitempty"`

    // The ID of a VPC peering connection.
    VpcPeeringConnectionId *StringExpr `json:"VpcPeeringConnectionId,omitempty"`
}

EC2Route represents AWS::EC2::Route

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html

func (EC2Route) CfnResourceType Uses

func (s EC2Route) CfnResourceType() string

CfnResourceType returns AWS::EC2::Route to implement the ResourceProperties interface

type EC2RouteTable Uses

type EC2RouteTable struct {
    // The ID of the VPC where the route table will be created.
    VpcId *StringExpr `json:"VpcId,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this route table.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

EC2RouteTable represents AWS::EC2::RouteTable

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html

func (EC2RouteTable) CfnResourceType Uses

func (s EC2RouteTable) CfnResourceType() string

CfnResourceType returns AWS::EC2::RouteTable to implement the ResourceProperties interface

type EC2SecurityGroup Uses

type EC2SecurityGroup struct {
    // Description of the security group.
    GroupDescription *StringExpr `json:"GroupDescription,omitempty"`

    // A list of Amazon EC2 security group egress rules.
    SecurityGroupEgress *EC2SecurityGroupRuleList `json:"SecurityGroupEgress,omitempty"`

    // A list of Amazon EC2 security group ingress rules.
    SecurityGroupIngress *EC2SecurityGroupRuleList `json:"SecurityGroupIngress,omitempty"`

    // The tags that you want to attach to the resource.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The physical ID of the VPC. Can be obtained by using a reference to an
    // AWS::EC2::VPC, such as: { "Ref" : "myVPC" }.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

EC2SecurityGroup represents AWS::EC2::SecurityGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html

func (EC2SecurityGroup) CfnResourceType Uses

func (s EC2SecurityGroup) CfnResourceType() string

CfnResourceType returns AWS::EC2::SecurityGroup to implement the ResourceProperties interface

type EC2SecurityGroupEgress Uses

type EC2SecurityGroupEgress struct {
    // An IPv4 CIDR range.
    CidrIp *StringExpr `json:"CidrIp,omitempty"`

    // An IPv6 CIDR range.
    CidrIpv6 *StringExpr `json:"CidrIpv6,omitempty"`

    // The AWS service prefix of an Amazon VPC endpoint. For more
    // information, see VPC Endpoints in the Amazon VPC User Guide.
    DestinationPrefixListId *StringExpr `json:"DestinationPrefixListId,omitempty"`

    // Specifies the group ID of the destination Amazon VPC security group.
    DestinationSecurityGroupId *StringExpr `json:"DestinationSecurityGroupId,omitempty"`

    // Start of port range for the TCP and UDP protocols, or an ICMP type
    // number. If you specify icmp for the IpProtocol property, you can
    // specify -1 as a wildcard (i.e., any ICMP type number).
    FromPort *IntegerExpr `json:"FromPort,omitempty"`

    // ID of the Amazon VPC security group to modify. This value can be a
    // reference to an AWS::EC2::SecurityGroup resource that has a valid
    // VpcId property or the ID of an existing Amazon VPC security group.
    GroupId *StringExpr `json:"GroupId,omitempty"`

    // IP protocol name or number. For valid values, see the IpProtocol
    // parameter in AuthorizeSecurityGroupIngress
    IpProtocol *StringExpr `json:"IpProtocol,omitempty"`

    // End of port range for the TCP and UDP protocols, or an ICMP code. If
    // you specify icmp for the IpProtocol property, you can specify -1 as a
    // wildcard (i.e., any ICMP code).
    ToPort *IntegerExpr `json:"ToPort,omitempty"`
}

EC2SecurityGroupEgress represents AWS::EC2::SecurityGroupEgress

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html

func (EC2SecurityGroupEgress) CfnResourceType Uses

func (s EC2SecurityGroupEgress) CfnResourceType() string

CfnResourceType returns AWS::EC2::SecurityGroupEgress to implement the ResourceProperties interface

type EC2SecurityGroupIngress Uses

type EC2SecurityGroupIngress struct {
    // An IPv4 CIDR range.
    CidrIp *StringExpr `json:"CidrIp,omitempty"`

    // An IPv6 CIDR range.
    CidrIpv6 *StringExpr `json:"CidrIpv6,omitempty"`

    // Start of port range for the TCP and UDP protocols, or an ICMP type
    // number. If you specify icmp for the IpProtocol property, you can
    // specify -1 as a wildcard (i.e., any ICMP type number).
    FromPort *IntegerExpr `json:"FromPort,omitempty"`

    // ID of the Amazon EC2 or VPC security group to modify. The group must
    // belong to your account.
    GroupId *StringExpr `json:"GroupId,omitempty"`

    // Name of the Amazon EC2 security group (non-VPC security group) to
    // modify. This value can be a reference to an AWS::EC2::SecurityGroup
    // resource or the name of an existing Amazon EC2 security group.
    GroupName *StringExpr `json:"GroupName,omitempty"`

    // IP protocol name or number. For valid values, see the IpProtocol
    // parameter in AuthorizeSecurityGroupIngress
    IpProtocol *StringExpr `json:"IpProtocol,omitempty"`

    // Specifies the ID of the source security group or uses the Ref
    // intrinsic function to refer to the logical ID of a security group
    // defined in the same template.
    SourceSecurityGroupId *StringExpr `json:"SourceSecurityGroupId,omitempty"`

    // Specifies the name of the Amazon EC2 security group (non-VPC security
    // group) to allow access or uses the Ref intrinsic function to refer to
    // the logical name of a security group defined in the same template. For
    // instances in a VPC, specify the SourceSecurityGroupId property.
    SourceSecurityGroupName *StringExpr `json:"SourceSecurityGroupName,omitempty"`

    // Specifies the AWS Account ID of the owner of the Amazon EC2 security
    // group specified in the SourceSecurityGroupName property.
    SourceSecurityGroupOwnerId *StringExpr `json:"SourceSecurityGroupOwnerId,omitempty"`

    // End of port range for the TCP and UDP protocols, or an ICMP code. If
    // you specify icmp for the IpProtocol property, you can specify -1 as a
    // wildcard (i.e., any ICMP code).
    ToPort *IntegerExpr `json:"ToPort,omitempty"`
}

EC2SecurityGroupIngress represents AWS::EC2::SecurityGroupIngress

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html

func (EC2SecurityGroupIngress) CfnResourceType Uses

func (s EC2SecurityGroupIngress) CfnResourceType() string

CfnResourceType returns AWS::EC2::SecurityGroupIngress to implement the ResourceProperties interface

type EC2SecurityGroupRule Uses

type EC2SecurityGroupRule struct {
    // Specifies a CIDR range.
    CidrIp *StringExpr `json:"CidrIp,omitempty"`

    // The AWS service prefix of an Amazon VPC endpoint. For more
    // information, see VPC Endpoints in the Amazon VPC User Guide.
    DestinationPrefixListIdXXSecurityGroupEgressXOnlyX *StringExpr `json:"DestinationPrefixListId (SecurityGroupEgress only),omitempty"`

    // Specifies the GroupId of the destination Amazon VPC security group.
    DestinationSecurityGroupIdXXSecurityGroupEgressXOnlyX *StringExpr `json:"DestinationSecurityGroupId (SecurityGroupEgress only),omitempty"`

    // The start of port range for the TCP and UDP protocols, or an ICMP type
    // number. An ICMP type number of -1 indicates a wildcard (i.e., any ICMP
    // type number).
    FromPort *IntegerExpr `json:"FromPort,omitempty"`

    // An IP protocol name or number. For valid values, go to the IpProtocol
    // parameter in AuthorizeSecurityGroupIngress
    IpProtocol *StringExpr `json:"IpProtocol,omitempty"`

    // For VPC security groups only. Specifies the ID of the Amazon EC2
    // Security Group to allow access. You can use the Ref intrinsic function
    // to refer to the logical ID of a security group defined in the same
    // template.
    SourceSecurityGroupIdXXSecurityGroupIngressXOnlyX *StringExpr `json:"SourceSecurityGroupId (SecurityGroupIngress only),omitempty"`

    // For non-VPC security groups only. Specifies the name of the Amazon EC2
    // Security Group to use for access. You can use the Ref intrinsic
    // function to refer to the logical name of a security group that is
    // defined in the same template.
    SourceSecurityGroupNameXXSecurityGroupIngressXOnlyX *StringExpr `json:"SourceSecurityGroupName (SecurityGroupIngress only),omitempty"`

    // Specifies the AWS Account ID of the owner of the Amazon EC2 Security
    // Group that is specified in the SourceSecurityGroupName property.
    SourceSecurityGroupOwnerIdXXSecurityGroupIngressXOnlyX *StringExpr `json:"SourceSecurityGroupOwnerId (SecurityGroupIngress only),omitempty"`

    // The end of port range for the TCP and UDP protocols, or an ICMP code.
    // An ICMP code of -1 indicates a wildcard (i.e., any ICMP code).
    ToPort *IntegerExpr `json:"ToPort,omitempty"`
}

EC2SecurityGroupRule represents EC2 Security Group Rule Property Type

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html

type EC2SecurityGroupRuleList Uses

type EC2SecurityGroupRuleList []EC2SecurityGroupRule

EC2SecurityGroupRuleList represents a list of EC2SecurityGroupRule

func (*EC2SecurityGroupRuleList) UnmarshalJSON Uses

func (l *EC2SecurityGroupRuleList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2SpotFleet Uses

type EC2SpotFleet struct {
    // The configuration for a Spot fleet request.
    SpotFleetRequestConfigData *EC2SpotFleetSpotFleetRequestConfigData `json:"SpotFleetRequestConfigData,omitempty"`
}

EC2SpotFleet represents AWS::EC2::SpotFleet

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html

func (EC2SpotFleet) CfnResourceType Uses

func (s EC2SpotFleet) CfnResourceType() string

CfnResourceType returns AWS::EC2::SpotFleet to implement the ResourceProperties interface

type EC2SpotFleetSpotFleetRequestConfigData Uses

type EC2SpotFleetSpotFleetRequestConfigData struct {
    // Indicates how to allocate the target capacity across the Spot pools
    // that you specified in the Spot fleet request. For valid values, see
    // SpotFleetRequestConfigData in the Amazon EC2 API Reference.
    AllocationStrategy *StringExpr `json:"AllocationStrategy,omitempty"`

    // Indicates whether running Spot instances are terminated if you
    // decrease the target capacity of the Spot fleet request below the
    // current size of the Spot fleet. For valid values, see
    // SpotFleetRequestConfigData in the Amazon EC2 API Reference.
    ExcessCapacityTerminationPolicy *StringExpr `json:"ExcessCapacityTerminationPolicy,omitempty"`

    // The Amazon Resource Name (ARN) of an AWS Identity and Access
    // Management (IAM) role that grants the Spot fleet the ability to bid
    // on, launch, and terminate instances on your behalf. For more
    // information, see Spot Fleet Prerequisites in the Amazon EC2 User Guide
    // for Linux Instances.
    IamFleetRole *StringExpr `json:"IamFleetRole,omitempty"`

    // The launch specifications for the Spot fleet request.
    LaunchSpecifications *ElasticComputeCloudSpotFleetSpotFleetRequestConfigDataLaunchSpecificationsList `json:"LaunchSpecifications,omitempty"`

    // The bid price per unit hour. For more information, see How Spot Fleet
    // Works in the Amazon EC2 User Guide for Linux Instances.
    SpotPrice *StringExpr `json:"SpotPrice,omitempty"`

    // The number of units to request for the spot fleet. You can choose to
    // set the target capacity as the number of instances or as a performance
    // characteristic that is important to your application workload, such as
    // vCPUs, memory, or I/O. For more information, see How Spot Fleet Works
    // in the Amazon EC2 User Guide for Linux Instances.
    TargetCapacity *IntegerExpr `json:"TargetCapacity,omitempty"`

    // Indicates whether running Spot instances are terminated when the Spot
    // fleet request expires.
    TerminateInstancesWithExpiration *BoolExpr `json:"TerminateInstancesWithExpiration,omitempty"`

    // The start date and time of the request, in UTC format
    // (YYYY-MM-DDTHH:MM:SSZ). By default, Amazon Elastic Compute Cloud
    // (Amazon EC2 ) starts fulfilling the request immediately.
    ValidFrom *StringExpr `json:"ValidFrom,omitempty"`

    // The end date and time of the request, in UTC format
    // (YYYY-MM-DDTHH:MM:SSZ). After the end date and time, Amazon EC2
    // doesn't request new Spot instances or enable them to fulfill the
    // request.
    ValidUntil *StringExpr `json:"ValidUntil,omitempty"`
}

EC2SpotFleetSpotFleetRequestConfigData represents Amazon EC2 SpotFleet SpotFleetRequestConfigData

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html

type EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoring Uses

type EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoring struct {
    // Indicates whether monitoring is enabled for the instances.
    Enabled *BoolExpr `json:"Enabled,omitempty"`
}

EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoring represents Amazon EC2 SpotFleet SpotFleetRequestConfigData LaunchSpecifications Monitoring

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-monitoring.html

type EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoringList Uses

type EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoringList []EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoring

EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoringList represents a list of EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoring

func (*EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoringList) UnmarshalJSON Uses

func (l *EC2SpotFleetSpotFleetRequestConfigDataLaunchSpecificationsMonitoringList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2SpotFleetSpotFleetRequestConfigDataList Uses

type EC2SpotFleetSpotFleetRequestConfigDataList []EC2SpotFleetSpotFleetRequestConfigData

EC2SpotFleetSpotFleetRequestConfigDataList represents a list of EC2SpotFleetSpotFleetRequestConfigData

func (*EC2SpotFleetSpotFleetRequestConfigDataList) UnmarshalJSON Uses

func (l *EC2SpotFleetSpotFleetRequestConfigDataList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2Subnet Uses

type EC2Subnet struct {
    // The availability zone in which you want the subnet. Default: AWS
    // selects a zone for you (recommended).
    AvailabilityZone *StringExpr `json:"AvailabilityZone,omitempty"`

    // The CIDR block that you want the subnet to cover (for example,
    // "10.0.0.0/24").
    CidrBlock *StringExpr `json:"CidrBlock,omitempty"`

    // Indicates whether instances that are launched in this subnet receive a
    // public IP address. By default, the value is false.
    MapPublicIpOnLaunch *BoolExpr `json:"MapPublicIpOnLaunch,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this subnet.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // A Ref structure that contains the ID of the VPC on which you want to
    // create the subnet. The VPC ID is provided as the value of the "Ref"
    // property, as: { "Ref": "VPCID" }.
    VpcId interface{} `json:"VpcId,omitempty"`
}

EC2Subnet represents AWS::EC2::Subnet

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html

func (EC2Subnet) CfnResourceType Uses

func (s EC2Subnet) CfnResourceType() string

CfnResourceType returns AWS::EC2::Subnet to implement the ResourceProperties interface

type EC2SubnetCidrBlock Uses

type EC2SubnetCidrBlock struct {
    // The IPv6 CIDR block for the subnet. The CIDR block must have a prefix
    // length of /64.
    Ipv6CidrBlock *StringExpr `json:"Ipv6CidrBlock,omitempty"`

    // The ID of the subnet to associate the IPv6 CIDR block with.
    SubnetId *StringExpr `json:"SubnetId,omitempty"`
}

EC2SubnetCidrBlock represents AWS::EC2::SubnetCidrBlock

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html

func (EC2SubnetCidrBlock) CfnResourceType Uses

func (s EC2SubnetCidrBlock) CfnResourceType() string

CfnResourceType returns AWS::EC2::SubnetCidrBlock to implement the ResourceProperties interface

type EC2SubnetNetworkAclAssociation Uses

type EC2SubnetNetworkAclAssociation struct {
    // The ID representing the current association between the original
    // network ACL and the subnet.
    SubnetId *StringExpr `json:"SubnetId,omitempty"`

    // The ID of the new ACL to associate with the subnet.
    NetworkAclId *StringExpr `json:"NetworkAclId,omitempty"`
}

EC2SubnetNetworkAclAssociation represents AWS::EC2::SubnetNetworkAclAssociation

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html

func (EC2SubnetNetworkAclAssociation) CfnResourceType Uses

func (s EC2SubnetNetworkAclAssociation) CfnResourceType() string

CfnResourceType returns AWS::EC2::SubnetNetworkAclAssociation to implement the ResourceProperties interface

type EC2SubnetRouteTableAssociation Uses

type EC2SubnetRouteTableAssociation struct {
    // The ID of the route table. This is commonly written as a reference to
    // a route table declared elsewhere in the template. For example:
    RouteTableId *StringExpr `json:"RouteTableId,omitempty"`

    // The ID of the subnet. This is commonly written as a reference to a
    // subnet declared elsewhere in the template. For example:
    SubnetId *StringExpr `json:"SubnetId,omitempty"`
}

EC2SubnetRouteTableAssociation represents AWS::EC2::SubnetRouteTableAssociation

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html

func (EC2SubnetRouteTableAssociation) CfnResourceType Uses

func (s EC2SubnetRouteTableAssociation) CfnResourceType() string

CfnResourceType returns AWS::EC2::SubnetRouteTableAssociation to implement the ResourceProperties interface

type EC2SystemsManagerAssociationTargets Uses

type EC2SystemsManagerAssociationTargets struct {
    // The name of the criteria that EC2 instances must meet. For valid keys,
    // see the Target data type in the Amazon EC2 Systems Manager API
    // Reference.
    Key *StringExpr `json:"Key,omitempty"`

    // The value of the criteria. SSM runs targeted commands on EC2 instances
    // that match the criteria. For more information, see the Target data
    // type in the Amazon EC2 Systems Manager API Reference.
    Values *StringListExpr `json:"Values,omitempty"`
}

EC2SystemsManagerAssociationTargets represents Amazon EC2 Systems Manager Association Targets

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-targets.html

type EC2SystemsManagerAssociationTargetsList Uses

type EC2SystemsManagerAssociationTargetsList []EC2SystemsManagerAssociationTargets

EC2SystemsManagerAssociationTargetsList represents a list of EC2SystemsManagerAssociationTargets

func (*EC2SystemsManagerAssociationTargetsList) UnmarshalJSON Uses

func (l *EC2SystemsManagerAssociationTargetsList) UnmarshalJSON(buf []byte) error

UnmarshalJSON sets the object from the provided JSON representation

type EC2VPC Uses

type EC2VPC struct {
    // The CIDR block you want the VPC to cover. For example: "10.0.0.0/16".
    CidrBlock *StringExpr `json:"CidrBlock,omitempty"`

    // Specifies whether DNS resolution is supported for the VPC. If this
    // attribute is true, the Amazon DNS server resolves DNS hostnames for
    // your instances to their corresponding IP addresses; otherwise, it does
    // not. By default the value is set to true.
    EnableDnsSupport *BoolExpr `json:"EnableDnsSupport,omitempty"`

    // Specifies whether the instances launched in the VPC get DNS hostnames.
    // If this attribute is true, instances in the VPC get DNS hostnames;
    // otherwise, they do not. You can only set EnableDnsHostnames to true if
    // you also set the EnableDnsSupport attribute to true. By default, the
    // value is set to false.
    EnableDnsHostnames *BoolExpr `json:"EnableDnsHostnames,omitempty"`

    // The allowed tenancy of instances launched into the VPC.
    InstanceTenancy *StringExpr `json:"InstanceTenancy,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this VPC. To name a
    // VPC resource, specify a value for the Name key.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

EC2VPC represents AWS::EC2::VPC

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html

func (EC2VPC) CfnResourceType Uses

func (s EC2VPC) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPC to implement the ResourceProperties interface

type EC2VPCCidrBlock Uses

type EC2VPCCidrBlock struct {
    // Whether to request an Amazon-provided IPv6 CIDR block with a /56
    // prefix length for the VPC. You can't specify the range of IPv6
    // addresses or the size of the CIDR block.
    AmazonProvidedIpv6CidrBlock *BoolExpr `json:"AmazonProvidedIpv6CidrBlock,omitempty"`

    // The ID of the VPC to associate the Amazon-provided IPv6 CIDR block
    // with.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

EC2VPCCidrBlock represents AWS::EC2::VPCCidrBlock

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html

func (EC2VPCCidrBlock) CfnResourceType Uses

func (s EC2VPCCidrBlock) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPCCidrBlock to implement the ResourceProperties interface

type EC2VPCDHCPOptionsAssociation Uses

type EC2VPCDHCPOptionsAssociation struct {
    // The ID of the DHCP options you want to associate with the VPC. Specify
    // default if you want the VPC to use no DHCP options.
    DhcpOptionsId *StringExpr `json:"DhcpOptionsId,omitempty"`

    // The ID of the VPC to associate with this DHCP options set.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

EC2VPCDHCPOptionsAssociation represents AWS::EC2::VPCDHCPOptionsAssociation

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html

func (EC2VPCDHCPOptionsAssociation) CfnResourceType Uses

func (s EC2VPCDHCPOptionsAssociation) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPCDHCPOptionsAssociation to implement the ResourceProperties interface

type EC2VPCEndpoint Uses

type EC2VPCEndpoint struct {
    // A policy to attach to the endpoint that controls access to the
    // service. The policy must be valid JSON. The default policy allows full
    // access to the AWS service. For more information, see Controlling
    // Access to Services in the Amazon VPC User Guide.
    PolicyDocument interface{} `json:"PolicyDocument,omitempty"`

    // One or more route table IDs that are used by the VPC to reach the
    // endpoint.
    RouteTableIds *StringListExpr `json:"RouteTableIds,omitempty"`

    // The AWS service to which you want to establish a connection. Specify
    // the service name in the form of com.amazonaws.region.service.
    ServiceName *StringExpr `json:"ServiceName,omitempty"`

    // The ID of the VPC in which the endpoint is used.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

EC2VPCEndpoint represents AWS::EC2::VPCEndpoint

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html

func (EC2VPCEndpoint) CfnResourceType Uses

func (s EC2VPCEndpoint) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPCEndpoint to implement the ResourceProperties interface

type EC2VPCGatewayAttachment Uses

type EC2VPCGatewayAttachment struct {
    // The ID of the Internet gateway.
    InternetGatewayId *StringExpr `json:"InternetGatewayId,omitempty"`

    // The ID of the VPC to associate with this gateway.
    VpcId *StringExpr `json:"VpcId,omitempty"`

    // The ID of the virtual private network (VPN) gateway to attach to the
    // VPC.
    VpnGatewayId *StringExpr `json:"VpnGatewayId,omitempty"`
}

EC2VPCGatewayAttachment represents AWS::EC2::VPCGatewayAttachment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html

func (EC2VPCGatewayAttachment) CfnResourceType Uses

func (s EC2VPCGatewayAttachment) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPCGatewayAttachment to implement the ResourceProperties interface

type EC2VPCPeeringConnection Uses

type EC2VPCPeeringConnection struct {
    // The ID of the VPC with which you are creating the peering connection.
    PeerVpcId *StringExpr `json:"PeerVpcId,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this resource.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The ID of the VPC that is requesting a peering connection.
    VpcId *StringExpr `json:"VpcId,omitempty"`
}

EC2VPCPeeringConnection represents AWS::EC2::VPCPeeringConnection

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html

func (EC2VPCPeeringConnection) CfnResourceType Uses

func (s EC2VPCPeeringConnection) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPCPeeringConnection to implement the ResourceProperties interface

type EC2VPNConnection Uses

type EC2VPNConnection struct {
    // The type of VPN connection this virtual private gateway supports.
    Type *StringExpr `json:"Type,omitempty"`

    // The ID of the customer gateway. This can either be an embedded JSON
    // object or a reference to a Gateway ID.
    CustomerGatewayId *StringExpr `json:"CustomerGatewayId,omitempty"`

    // Indicates whether the VPN connection requires static routes.
    StaticRoutesOnly *BoolExpr `json:"StaticRoutesOnly,omitempty"`

    // The tags that you want to attach to the resource.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The ID of the virtual private gateway. This can either be an embedded
    // JSON object or a reference to a Gateway ID.
    VpnGatewayId *StringExpr `json:"VpnGatewayId,omitempty"`
}

EC2VPNConnection represents AWS::EC2::VPNConnection

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html

func (EC2VPNConnection) CfnResourceType Uses

func (s EC2VPNConnection) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPNConnection to implement the ResourceProperties interface

type EC2VPNConnectionRoute Uses

type EC2VPNConnectionRoute struct {
    // The CIDR block that is associated with the local subnet of the
    // customer network.
    DestinationCidrBlock *StringExpr `json:"DestinationCidrBlock,omitempty"`

    // The ID of the VPN connection.
    VpnConnectionId *StringExpr `json:"VpnConnectionId,omitempty"`
}

EC2VPNConnectionRoute represents AWS::EC2::VPNConnectionRoute

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html

func (EC2VPNConnectionRoute) CfnResourceType Uses

func (s EC2VPNConnectionRoute) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPNConnectionRoute to implement the ResourceProperties interface

type EC2VPNGateway Uses

type EC2VPNGateway struct {
    // The type of VPN connection this virtual private gateway supports. The
    // only valid value is "ipsec.1".
    Type *StringExpr `json:"Type,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this resource.
    Tags []ResourceTag `json:"Tags,omitempty"`
}

EC2VPNGateway represents AWS::EC2::VPNGateway

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html

func (EC2VPNGateway) CfnResourceType Uses

func (s EC2VPNGateway) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPNGateway to implement the ResourceProperties interface

type EC2VPNGatewayRoutePropagation Uses

type EC2VPNGatewayRoutePropagation struct {
    // A list of routing table IDs that are associated with a VPC. The
    // routing tables must be associated with the same VPC that the virtual
    // private gateway is attached to.
    RouteTableIds interface{} `json:"RouteTableIds,omitempty"`

    // The ID of the virtual private gateway that is attached to a VPC. The
    // virtual private gateway must be attached to the same VPC that the
    // routing tables are associated with.
    VpnGatewayId *StringExpr `json:"VpnGatewayId,omitempty"`
}

EC2VPNGatewayRoutePropagation represents AWS::EC2::VPNGatewayRoutePropagation

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html

func (EC2VPNGatewayRoutePropagation) CfnResourceType Uses

func (s EC2VPNGatewayRoutePropagation) CfnResourceType() string

CfnResourceType returns AWS::EC2::VPNGatewayRoutePropagation to implement the ResourceProperties interface

type EC2Volume Uses

type EC2Volume struct {
    // Indicates whether the volume is auto-enabled for I/O operations. By
    // default, Amazon EBS disables I/O to the volume from attached EC2
    // instances when it determines that a volume's data is potentially
    // inconsistent. If the consistency of the volume is not a concern, and
    // you prefer that the volume be made available immediately if it's
    // impaired, you can configure the volume to automatically enable I/O.
    // For more information, see Working with the AutoEnableIO Volume
    // Attribute in the Amazon EC2 User Guide for Linux Instances.
    AutoEnableIO *BoolExpr `json:"AutoEnableIO,omitempty"`

    // The Availability Zone in which to create the new volume.
    AvailabilityZone *StringExpr `json:"AvailabilityZone,omitempty"`

    // Indicates whether the volume is encrypted. You can attach encrypted
    // Amazon EBS volumes only to instance types that support Amazon EBS
    // encryption. Volumes that are created from encrypted snapshots are
    // automatically encrypted. You can't create an encrypted volume from an
    // unencrypted snapshot, or vice versa. If your AMI uses encrypted
    // volumes, you can launch the AMI only on supported instance types. For
    // more information, see Amazon EBS encryption in the Amazon EC2 User
    // Guide for Linux Instances.
    Encrypted *BoolExpr `json:"Encrypted,omitempty"`

    // The number of I/O operations per second (IOPS) that the volume
    // supports. For more information about the valid sizes for each volume
    // type, see the Iops parameter for the CreateVolume action in the Amazon
    // EC2 API Reference.
    Iops *IntegerExpr `json:"Iops,omitempty"`

    // The Amazon Resource Name (ARN) of the AWS Key Management Service
    // master key that is used to create the encrypted volume, such as
    // arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
    // If you create an encrypted volume and don't specify this property, AWS
    // CloudFormation uses the default master key.
    KmsKeyId *StringExpr `json:"KmsKeyId,omitempty"`

    // The size of the volume, in gibibytes (GiBs). For more information
    // about the valid sizes for each volume type, see the Size parameter for
    // the CreateVolume action in the Amazon EC2 API Reference.
    Size *IntegerExpr `json:"Size,omitempty"`

    // The snapshot from which to create the new volume.
    SnapshotId *StringExpr `json:"SnapshotId,omitempty"`

    // An arbitrary set of tags (key–value pairs) for this volume.
    Tags []ResourceTag `json:"Tags,omitempty"`

    // The volume type. If you set the type to io1, you must also set the
    // Iops property. For valid values, see the VolumeType parameter for the
    // CreateVolume action in the Amazon EC2 API Reference.
    VolumeType *StringExpr `json:"VolumeType,omitempty"`
}

EC2Volume represents AWS::EC2::Volume

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html

func (EC2Volume) CfnResourceType Uses

func (s EC2Volume) CfnResourceType() string

CfnResourceType returns AWS::EC2::Volume to implement the ResourceProperties interface

type EC2VolumeAttachment Uses

type EC2VolumeAttachment struct {
    // How the device is exposed to the instance (e.g., /dev/sdh, or xvdh).
    Device *StringExpr `json:"Device,omitempty"`

    // The ID of the instance to which the volume attaches. This value can be
    // a reference to an AWS::EC2::Instance resource, or it can be the
    // physical ID of an existing EC2 instance.
    InstanceId *StringExpr `json:"InstanceId,omitempty"`

    // The ID of the Amazon EBS volume. The volume and instance must be
    // within the same Availability Zone. This value can be a reference to an
    // AWS::EC2::Volume resource, or it can be the volume ID of an existing
    // Amazon EBS volume.
    VolumeId *StringExpr `json:"VolumeId,omitempty"`
}

EC2VolumeAttachment represents AWS::EC2::VolumeAttachment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html

func (EC2VolumeAttachment) CfnResourceType Uses

func (s EC2VolumeAttachment) CfnResourceType() string

CfnResourceType returns AWS::EC2::VolumeAttachment to implement the ResourceProperties interface

type ECRRepository Uses

type ECRRepository struct {
    // A name for the image repository. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID and uses that ID for the
    // repository name. For more information, see Name Type.
    RepositoryName *StringExpr `json:"RepositoryName,omitempty"`

    // A policy that controls who has access to the repository and which
    // actions they can perform on it. For more information, see Amazon ECR
    // Repository Policies in the Amazon EC2 Container Registry User Guide.
    RepositoryPolicyText interface{} `json:"RepositoryPolicyText,omitempty"`
}

ECRRepository represents AWS::ECR::Repository

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html

func (ECRRepository) CfnResourceType Uses

func (s ECRRepository) CfnResourceType() string

CfnResourceType returns AWS::ECR::Repository to implement the ResourceProperties interface

type ECSCluster Uses

type ECSCluster struct {
    // A name for the cluster. If you don't specify a name, AWS
    // CloudFormation generates a unique physical ID for the name. For more
    // information, see Name Type.
    ClusterName *StringExpr `json:"ClusterName,omitempty"`
}

ECSCluster represents AWS::ECS::Cluster

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html

func (ECSCluster) CfnResourceType Uses

func (s ECSCluster) CfnResourceType() string

CfnResourceType returns AWS::ECS::Cluster to implement the ResourceProperties interface

type ECSService Uses

type ECSService struct {
    // The name or Amazon Resource Name (ARN) of the cluster that you want to
    // run your service on. If you do not specify a cluster, Amazon ECS uses
    // the default cluster.
    Cluster *StringExpr `json:"Cluster,omitempty"`

    // Configures how many tasks run during a deployment.
    DeploymentConfiguration *EC2ContainerServiceServiceDeploymentConfiguration `json:"DeploymentConfiguration,omitempty"`

    // The number of simultaneous tasks, which you specify by using the
    // TaskDefinition property, that you want to run on the cluster.
    DesiredCount *IntegerExpr `json:"DesiredCount,omitempty"`

    // A list of load balancer objects to associate with the cluster. For
    // information about the number of load balancers you can specify per
    // service, see Service Load Balancing in the Amazon EC2 Container
    // Service Developer Guide.
    LoadBalancers *EC2ContainerServiceServiceLoadBalancersList `json:"LoadBalancers,omitempty"`

    // The name or ARN of an AWS Identity and Access Management (IAM) role
    // that allows your Amazon ECS container agent to make calls to your load
    // balancer.
    Role *StringExpr `json:"Role,omitempty"`

    // The ARN of the task definition (including the revision number) that
    // you want to run on the cluster, such as
    // arn:aws:ecs:us-east-1:123456789012:task-definition/mytask:3. You can't
    // use :latest to specify a revision because it's ambiguous. For example,
    // if AWS CloudFormation needed to rollback an update, it wouldn't know
    // which revision to rollback to.
    TaskDefinition *StringExpr `json:"TaskDefinition,omitempty"`
}

ECSService represents AWS::ECS::Service

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html

func (ECSService) CfnResourceType Uses

func (s ECSService) CfnResourceType() string

CfnResourceType returns AWS::ECS::Service to implement the ResourceProperties interface

type ECSTaskDefinition Uses

type ECSTaskDefinition struct {
    // A list of container definitions in JSON format that describe the
    // containers that make up your task.
    ContainerDefinitions *EC2ContainerServiceTaskDefinitionContainerDefinitionsList `json:"ContainerDefinitions,omitempty"`

    // The name of a family that this task definition is registered to. A
    // family groups multiple versions of a task definition. Amazon ECS gives
    // the first task definition that you registered to a family a revision
    // number of 1. Amazon ECS gives sequential revision numbers to each task
    // definition that you add.
    Family *StringExpr `json:"Family,omitempty"`

    // The Docker networking mode to use for the containers in the task, such
    // as none, bridge, or host. For information about network modes, see
    // NetworkMode in the Task Definition Parameters topic in the Amazon EC2
    // Container Service Developer Guide.
    NetworkMode *StringExpr `json:"NetworkMode,omitempty"`

    // The Amazon Resource Name (ARN) of an AWS Identity and Access
    // Management (IAM) role that grants containers in the task permission to
    // call AWS APIs on your behalf. For more information, see IAM Roles for
    // Tasks in the Amazon EC2 Container Service Developer Guide.
    TaskRoleArn *StringExpr `json:"TaskRoleArn,omitempty"`

    // A list of volume definitions in JSON format for volumes that you can
    // use in your container definitions.
    Volumes *EC2ContainerServiceTaskDefinitionVolumesList `json:"Volumes,omitempty"`
}

ECSTaskDefinition represents AWS::ECS::TaskDefinition

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html

func (ECSTaskDefinition) CfnResourceType Uses

func (s ECSTaskDefinition) CfnResourceType() string

CfnResourceType returns AWS::ECS::TaskDefinition to implement the ResourceProperties interface

type EFSFileSystem Uses

type EFSFileSystem struct {
    // Tags to associate with the file system.
    FileSystemTags *ElasticFileSystemFileSystemFileSystemTagsList `json:"FileSystemTags,omitempty"`

    // The performance mode of the file system. For valid values, see the
    // PerformanceMode parameter for the CreateFileSystem action in the
    // Amazon Elastic File System User Guide.
    PerformanceMode *StringExpr `json:"PerformanceMode,omitempty"`
}

EFSFileSystem represents AWS::EFS::FileSystem

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html

func (EFSFileSystem) CfnResourceType Uses