Skip to content

Commit

Permalink
Automated SDK generation @ aws-cloudformation-user-guide 19dc52cd3f20…
Browse files Browse the repository at this point in the history
…07d6d268b65b739ffb5ebf8c1e76 (#1824)

*Automated PR*
  • Loading branch information
pulumi-bot authored Nov 14, 2024
1 parent 44c2b5b commit 4cd3523
Show file tree
Hide file tree
Showing 435 changed files with 38,480 additions and 4,720 deletions.
2 changes: 1 addition & 1 deletion .docs.version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7a991e37fc8f301978224612dde8f7b49a9cc819
d880f1f6156507307e273c0dbdae75b6f195c65b
288 changes: 288 additions & 0 deletions aws-cloudformation-schema/aws-cloudformation-guardhook.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
{
"typeName" : "AWS::CloudFormation::GuardHook",
"description" : "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.",
"sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"definitions" : {
"S3Location" : {
"description" : "S3 Source Location for the Guard files.",
"type" : "object",
"properties" : {
"Uri" : {
"description" : "S3 uri of Guard files.",
"type" : "string"
},
"VersionId" : {
"description" : "S3 object version",
"type" : "string"
}
},
"additionalProperties" : false,
"required" : [ "Uri" ]
},
"Role" : {
"description" : "IAM Role ARN",
"pattern" : "arn:.+:iam::[0-9]{12}:role/.+",
"type" : "string",
"maxLength" : 256
},
"StackName" : {
"pattern" : "^[a-zA-Z][-a-zA-Z0-9]*$",
"description" : "CloudFormation Stack name",
"type" : "string",
"maxLength" : 128
},
"TargetOperation" : {
"description" : "Which operations should this Hook run against? Resource changes, stacks or change sets.",
"type" : "string",
"enum" : [ "RESOURCE", "STACK", "CHANGE_SET" ]
},
"TargetName" : {
"description" : "Type name of hook target. Hook targets are the destination where hooks will be invoked against.",
"type" : "string",
"pattern" : "^(?!.*\\*\\?).*$",
"minLength" : 1,
"maxLength" : 256
},
"Action" : {
"description" : "Target actions are the type of operation hooks will be executed at.",
"type" : "string",
"enum" : [ "CREATE", "UPDATE", "DELETE" ]
},
"InvocationPoint" : {
"description" : "Invocation points are the point in provisioning workflow where hooks will be executed.",
"type" : "string",
"enum" : [ "PRE_PROVISION" ]
},
"HookTarget" : {
"description" : "Hook targets are the destination where hooks will be invoked against.",
"type" : "object",
"properties" : {
"TargetName" : {
"$ref" : "#/definitions/TargetName"
},
"Action" : {
"$ref" : "#/definitions/Action"
},
"InvocationPoint" : {
"$ref" : "#/definitions/InvocationPoint"
}
},
"additionalProperties" : false,
"required" : [ "TargetName", "Action", "InvocationPoint" ]
}
},
"properties" : {
"RuleLocation" : {
"$ref" : "#/definitions/S3Location"
},
"LogBucket" : {
"description" : "S3 Bucket where the guard validate report will be uploaded to",
"type" : "string"
},
"HookStatus" : {
"default" : "DISABLED",
"description" : "Attribute to specify which stacks this hook applies to or should get invoked for",
"type" : "string",
"enum" : [ "ENABLED", "DISABLED" ]
},
"TargetOperations" : {
"description" : "Which operations should this Hook run against? Resource changes, stacks or change sets.",
"type" : "array",
"uniqueItems" : true,
"items" : {
"$ref" : "#/definitions/TargetOperation"
}
},
"FailureMode" : {
"default" : "WARN",
"description" : "Attribute to specify CloudFormation behavior on hook failure.",
"type" : "string",
"enum" : [ "FAIL", "WARN" ]
},
"TargetFilters" : {
"description" : "Attribute to specify which targets should invoke the hook",
"type" : "object",
"oneOf" : [ {
"type" : "object",
"minProperties" : 1,
"properties" : {
"TargetNames" : {
"description" : "List of type names that the hook is going to target",
"type" : "array",
"minItems" : 1,
"maxItems" : 50,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/TargetName"
}
},
"Actions" : {
"description" : "List of actions that the hook is going to target",
"type" : "array",
"minItems" : 1,
"maxItems" : 50,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/Action"
}
},
"InvocationPoints" : {
"description" : "List of invocation points that the hook is going to target",
"type" : "array",
"minItems" : 1,
"maxItems" : 50,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/InvocationPoint"
}
}
},
"additionalProperties" : false
}, {
"type" : "object",
"properties" : {
"Targets" : {
"description" : "List of hook targets",
"type" : "array",
"minItems" : 1,
"maxItems" : 50,
"uniqueItems" : true,
"items" : {
"$ref" : "#/definitions/HookTarget"
}
}
},
"additionalProperties" : false,
"required" : [ "Targets" ]
} ]
},
"StackFilters" : {
"description" : "Filters to allow hooks to target specific stack attributes",
"type" : "object",
"properties" : {
"FilteringCriteria" : {
"description" : "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match",
"type" : "string",
"default" : "ALL",
"enum" : [ "ALL", "ANY" ]
},
"StackNames" : {
"description" : "List of stack names as filters",
"type" : "object",
"additionalProperties" : false,
"minProperties" : 1,
"properties" : {
"Include" : {
"description" : "List of stack names that the hook is going to target",
"type" : "array",
"maxItems" : 50,
"minItems" : 1,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/StackName"
}
},
"Exclude" : {
"description" : "List of stack names that the hook is going to be excluded from",
"type" : "array",
"maxItems" : 50,
"minItems" : 1,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/StackName"
}
}
}
},
"StackRoles" : {
"description" : "List of stack roles that are performing the stack operations.",
"type" : "object",
"additionalProperties" : false,
"minProperties" : 1,
"properties" : {
"Include" : {
"description" : "List of stack roles that the hook is going to target",
"type" : "array",
"maxItems" : 50,
"minItems" : 1,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/Role"
}
},
"Exclude" : {
"description" : "List of stack roles that the hook is going to be excluded from",
"type" : "array",
"maxItems" : 50,
"minItems" : 1,
"uniqueItems" : true,
"insertionOrder" : false,
"items" : {
"$ref" : "#/definitions/Role"
}
}
}
}
},
"required" : [ "FilteringCriteria" ],
"additionalProperties" : false
},
"Alias" : {
"description" : "The typename alias for the hook.",
"pattern" : "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$",
"type" : "string"
},
"HookArn" : {
"description" : "The Amazon Resource Name (ARN) of the activated hook",
"pattern" : "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$",
"type" : "string"
},
"ExecutionRole" : {
"description" : "The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3.",
"$ref" : "#/definitions/Role"
},
"Options" : {
"properties" : {
"InputParams" : {
"$ref" : "#/definitions/S3Location"
}
},
"required" : [ ],
"additionalProperties" : false
}
},
"additionalProperties" : false,
"readOnlyProperties" : [ "/properties/HookArn" ],
"required" : [ "RuleLocation", "HookStatus", "TargetOperations", "FailureMode", "Alias", "ExecutionRole" ],
"createOnlyProperties" : [ "/properties/ExecutionRole", "/properties/Alias" ],
"primaryIdentifier" : [ "/properties/HookArn" ],
"tagging" : {
"taggable" : false,
"tagOnCreate" : false,
"tagUpdatable" : false,
"cloudFormationSystemTags" : false
},
"handlers" : {
"create" : {
"permissions" : [ "cloudformation:ActivateType", "cloudformation:DescribeType", "cloudformation:ListTypes", "cloudformation:SetTypeConfiguration", "cloudformation:BatchDescribeTypeConfigurations", "iam:PassRole" ]
},
"read" : {
"permissions" : [ "cloudformation:DescribeType", "cloudformation:BatchDescribeTypeConfigurations" ]
},
"update" : {
"permissions" : [ "cloudformation:BatchDescribeTypeConfigurations", "cloudformation:DescribeType", "cloudformation:SetTypeConfiguration", "iam:PassRole" ]
},
"delete" : {
"permissions" : [ "cloudformation:BatchDescribeTypeConfigurations", "cloudformation:DescribeType", "cloudformation:DeactivateType", "cloudformation:SetTypeConfiguration" ]
},
"list" : {
"permissions" : [ "cloudformation:ListTypes", "cloudformation:DescribeType", "cloudformation:BatchDescribeTypeConfigurations" ]
}
}
}
Loading

0 comments on commit 4cd3523

Please sign in to comment.