Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated SDK generation @ aws-cloudformation-user-guide 19dc52cd3f2007d6d268b65b739ffb5ebf8c1e76 #1473

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion aws-cloudformation-schema/aws-amplify-domain.json
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,8 @@
"required" : [ "AppId", "DomainName", "SubDomainSettings" ],
"primaryIdentifier" : [ "/properties/Arn" ],
"createOnlyProperties" : [ "/properties/AppId", "/properties/DomainName" ],
"readOnlyProperties" : [ "/properties/Arn", "/properties/DomainStatus", "/properties/StatusReason", "/properties/CertificateRecord" ],
"readOnlyProperties" : [ "/properties/Arn", "/properties/DomainStatus", "/properties/StatusReason", "/properties/CertificateRecord", "/properties/Certificate", "/properties/UpdateStatus" ],
"writeOnlyProperties" : [ "/properties/CertificateSettings" ],
"handlers" : {
"create" : {
"permissions" : [ "amplify:CreateDomainAssociation", "route53:ListHostedZones", "route53:ChangeResourceRecordSets", "iam:PassRole", "amplify:TagResource" ]
Expand Down
182 changes: 95 additions & 87 deletions aws-cloudformation-schema/aws-appconfig-environment.json
Original file line number Diff line number Diff line change
@@ -1,129 +1,137 @@
{
"typeName" : "AWS::AppConfig::Environment",
"description" : "Resource Type definition for AWS::AppConfig::Environment",
"sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git",
"additionalProperties" : false,
"properties" : {
"EnvironmentId" : {
"type" : "string",
"description" : "The environment ID.",
"pattern" : "[a-z0-9]{4,7}"
},
"ApplicationId" : {
"type" : "string",
"description" : "The application ID.",
"pattern" : "[a-z0-9]{4,7}"
"tagging" : {
"taggable" : true,
"tagOnCreate" : true,
"tagUpdatable" : true,
"tagProperty" : "/properties/Tags",
"cloudFormationSystemTags" : true
},
"handlers" : {
"read" : {
"permissions" : [ "appconfig:GetEnvironment", "appconfig:ListTagsForResource" ]
},
"Name" : {
"type" : "string",
"description" : "A name for the environment.",
"minLength" : 1,
"maxLength" : 64
"create" : {
"permissions" : [ "appconfig:CreateEnvironment", "appconfig:GetEnvironment", "appconfig:ListTagsForResource", "appconfig:TagResource", "iam:PassRole" ]
},
"Description" : {
"type" : "string",
"description" : "A description of the environment.",
"minLength" : 0,
"maxLength" : 1024
"update" : {
"permissions" : [ "appconfig:UpdateEnvironment", "appconfig:TagResource", "appconfig:UntagResource", "iam:PassRole" ]
},
"Monitors" : {
"type" : "array",
"description" : "Amazon CloudWatch alarms to monitor during the deployment process.",
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/Monitor"
},
"minItems" : 0,
"maxItems" : 5
"list" : {
"permissions" : [ "appconfig:ListEnvironments" ],
"handlerSchema" : {
"properties" : {
"ApplicationId" : {
"$ref" : "resource-schema.json#/properties/ApplicationId"
}
},
"required" : [ "ApplicationId" ]
}
},
"Tags" : {
"type" : "array",
"description" : "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.",
"uniqueItems" : true,
"items" : {
"$ref" : "#/definitions/Tag"
},
"insertionOrder" : false
"delete" : {
"permissions" : [ "appconfig:GetEnvironment", "appconfig:DeleteEnvironment" ]
}
},
"typeName" : "AWS::AppConfig::Environment",
"readOnlyProperties" : [ "/properties/EnvironmentId" ],
"description" : "Resource Type definition for AWS::AppConfig::Environment",
"createOnlyProperties" : [ "/properties/ApplicationId" ],
"additionalProperties" : false,
"primaryIdentifier" : [ "/properties/ApplicationId", "/properties/EnvironmentId" ],
"definitions" : {
"Monitor" : {
"type" : "object",
"description" : "Amazon CloudWatch alarm to monitor during the deployment process.",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"AlarmArn" : {
"type" : "string",
"description" : "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.",
"relationshipRef" : {
"typeName" : "AWS::CloudWatch::Alarm",
"propertyPath" : "/properties/Arn"
},
"minLength" : 1,
"description" : "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.",
"type" : "string",
"maxLength" : 2048
},
"AlarmRoleArn" : {
"type" : "string",
"description" : "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor AlarmArn.",
"relationshipRef" : {
"typeName" : "AWS::IAM::Role",
"propertyPath" : "/properties/Arn"
},
"minLength" : 20,
"maxLength" : 2048,
"pattern" : "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$"
"pattern" : "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$",
"description" : "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor AlarmArn.",
"type" : "string",
"maxLength" : 2048
}
},
"required" : [ "AlarmArn" ]
},
"Tag" : {
"description" : "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.",
"type" : "object",
"additionalProperties" : false,
"type" : "object",
"properties" : {
"Key" : {
"type" : "string",
"description" : "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.",
"minLength" : 1,
"maxLength" : 128,
"pattern" : "^(?!aws:.)[a-zA-Z1-9+=._:/-]*$"
},
"Value" : {
"type" : "string",
"description" : "The tag value can be up to 256 characters.",
"minLength" : 0,
"description" : "The tag value can be up to 256 characters.",
"type" : "string",
"maxLength" : 256
},
"Key" : {
"minLength" : 1,
"pattern" : "^(?!aws:.)[a-zA-Z1-9+=._:/-]*$",
"description" : "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.",
"type" : "string",
"maxLength" : 128
}
},
"required" : [ "Key", "Value" ]
}
},
"required" : [ "Name", "ApplicationId" ],
"readOnlyProperties" : [ "/properties/EnvironmentId" ],
"createOnlyProperties" : [ "/properties/ApplicationId" ],
"primaryIdentifier" : [ "/properties/ApplicationId", "/properties/EnvironmentId" ],
"handlers" : {
"create" : {
"permissions" : [ "appconfig:CreateEnvironment", "appconfig:GetEnvironment", "appconfig:ListTagsForResource", "appconfig:TagResource", "iam:PassRole" ]
"properties" : {
"EnvironmentId" : {
"pattern" : "[a-z0-9]{4,7}",
"description" : "The environment ID.",
"type" : "string"
},
"read" : {
"permissions" : [ "appconfig:GetEnvironment", "appconfig:ListTagsForResource" ]
"Description" : {
"minLength" : 0,
"description" : "A description of the environment.",
"type" : "string",
"maxLength" : 1024
},
"update" : {
"permissions" : [ "appconfig:UpdateEnvironment", "appconfig:TagResource", "appconfig:UntagResource", "iam:PassRole" ]
"Monitors" : {
"minItems" : 0,
"maxItems" : 5,
"description" : "Amazon CloudWatch alarms to monitor during the deployment process.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"$ref" : "#/definitions/Monitor"
}
},
"delete" : {
"permissions" : [ "appconfig:GetEnvironment", "appconfig:DeleteEnvironment" ]
"ApplicationId" : {
"pattern" : "[a-z0-9]{4,7}",
"description" : "The application ID.",
"type" : "string"
},
"list" : {
"handlerSchema" : {
"properties" : {
"ApplicationId" : {
"$ref" : "resource-schema.json#/properties/ApplicationId"
}
},
"required" : [ "ApplicationId" ]
},
"permissions" : [ "appconfig:ListEnvironments" ]
"Tags" : {
"uniqueItems" : true,
"description" : "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.",
"insertionOrder" : false,
"type" : "array",
"items" : {
"$ref" : "#/definitions/Tag"
}
},
"Name" : {
"minLength" : 1,
"description" : "A name for the environment.",
"type" : "string",
"maxLength" : 64
}
},
"tagging" : {
"taggable" : true,
"tagOnCreate" : true,
"tagUpdatable" : true,
"cloudFormationSystemTags" : true,
"tagProperty" : "/properties/Tags"
}
"required" : [ "Name", "ApplicationId" ]
}
Original file line number Diff line number Diff line change
@@ -1,85 +1,85 @@
{
"sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git",
"tagging" : {
"taggable" : false,
"tagOnCreate" : false,
"tagUpdatable" : false,
"cloudFormationSystemTags" : false
},
"handlers" : {
"read" : {
"permissions" : [ "appconfig:GetHostedConfigurationVersion" ]
},
"create" : {
"permissions" : [ "appconfig:CreateHostedConfigurationVersion" ]
},
"list" : {
"permissions" : [ "appconfig:ListHostedConfigurationVersions" ],
"handlerSchema" : {
"properties" : {
"ConfigurationProfileId" : {
"$ref" : "resource-schema.json#/properties/ConfigurationProfileId"
},
"ApplicationId" : {
"$ref" : "resource-schema.json#/properties/ApplicationId"
}
},
"required" : [ "ApplicationId", "ConfigurationProfileId" ]
}
},
"delete" : {
"permissions" : [ "appconfig:DeleteHostedConfigurationVersion" ]
}
},
"typeName" : "AWS::AppConfig::HostedConfigurationVersion",
"readOnlyProperties" : [ "/properties/VersionNumber" ],
"description" : "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion",
"sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git",
"writeOnlyProperties" : [ "/properties/LatestVersionNumber" ],
"createOnlyProperties" : [ "/properties/ApplicationId", "/properties/ConfigurationProfileId", "/properties/Description", "/properties/Content", "/properties/ContentType", "/properties/LatestVersionNumber", "/properties/VersionLabel" ],
"additionalProperties" : false,
"primaryIdentifier" : [ "/properties/ApplicationId", "/properties/ConfigurationProfileId", "/properties/VersionNumber" ],
"properties" : {
"ApplicationId" : {
"type" : "string",
"description" : "The application ID.",
"pattern" : "[a-z0-9]{4,7}"
},
"ConfigurationProfileId" : {
"type" : "string",
"pattern" : "[a-z0-9]{4,7}",
"description" : "The configuration profile ID.",
"pattern" : "[a-z0-9]{4,7}"
},
"VersionNumber" : {
"type" : "string",
"description" : "Current version number of hosted configuration version."
"type" : "string"
},
"Description" : {
"type" : "string",
"description" : "A description of the hosted configuration version.",
"minLength" : 0,
"maxLength" : 1024
},
"Content" : {
"description" : "A description of the hosted configuration version.",
"type" : "string",
"description" : "The content of the configuration or the configuration data."
"maxLength" : 1024
},
"ContentType" : {
"type" : "string",
"description" : "A standard MIME type describing the format of the configuration content.",
"minLength" : 1,
"description" : "A standard MIME type describing the format of the configuration content.",
"type" : "string",
"maxLength" : 255
},
"LatestVersionNumber" : {
"type" : "integer",
"description" : "An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version."
"description" : "An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version.",
"type" : "integer"
},
"Content" : {
"description" : "The content of the configuration or the configuration data.",
"type" : "string"
},
"VersionLabel" : {
"type" : "string",
"description" : "A user-defined label for an AWS AppConfig hosted configuration version.",
"pattern" : "^$|.*[^0-9].*",
"minLength" : 0,
"pattern" : "^$|.*[^0-9].*",
"description" : "A user-defined label for an AWS AppConfig hosted configuration version.",
"type" : "string",
"maxLength" : 64
}
},
"required" : [ "ApplicationId", "ConfigurationProfileId", "Content", "ContentType" ],
"readOnlyProperties" : [ "/properties/VersionNumber" ],
"writeOnlyProperties" : [ "/properties/LatestVersionNumber" ],
"createOnlyProperties" : [ "/properties/ApplicationId", "/properties/ConfigurationProfileId", "/properties/Description", "/properties/Content", "/properties/ContentType", "/properties/LatestVersionNumber", "/properties/VersionLabel" ],
"primaryIdentifier" : [ "/properties/ApplicationId", "/properties/ConfigurationProfileId", "/properties/VersionNumber" ],
"handlers" : {
"create" : {
"permissions" : [ "appconfig:CreateHostedConfigurationVersion" ]
},
"read" : {
"permissions" : [ "appconfig:GetHostedConfigurationVersion" ]
},
"delete" : {
"permissions" : [ "appconfig:DeleteHostedConfigurationVersion" ]
"ApplicationId" : {
"pattern" : "[a-z0-9]{4,7}",
"description" : "The application ID.",
"type" : "string"
},
"list" : {
"handlerSchema" : {
"properties" : {
"ApplicationId" : {
"$ref" : "resource-schema.json#/properties/ApplicationId"
},
"ConfigurationProfileId" : {
"$ref" : "resource-schema.json#/properties/ConfigurationProfileId"
}
},
"required" : [ "ApplicationId", "ConfigurationProfileId" ]
},
"permissions" : [ "appconfig:ListHostedConfigurationVersions" ]
"VersionNumber" : {
"description" : "Current version number of hosted configuration version.",
"type" : "string"
}
},
"tagging" : {
"taggable" : false,
"tagOnCreate" : false,
"tagUpdatable" : false,
"cloudFormationSystemTags" : false
}
"required" : [ "ApplicationId", "ConfigurationProfileId", "Content", "ContentType" ]
}
Loading
Loading