diff --git a/cloudformation/all.go b/cloudformation/all.go index 2083547e79..53f7af583f 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -977,6 +977,7 @@ func AllResources() map[string]Resource { "AWS::RoboMaker::RobotApplicationVersion": &robomaker.RobotApplicationVersion{}, "AWS::RoboMaker::SimulationApplication": &robomaker.SimulationApplication{}, "AWS::RoboMaker::SimulationApplicationVersion": &robomaker.SimulationApplicationVersion{}, + "AWS::RolesAnywhere::CRL": &rolesanywhere.CRL{}, "AWS::RolesAnywhere::Profile": &rolesanywhere.Profile{}, "AWS::RolesAnywhere::TrustAnchor": &rolesanywhere.TrustAnchor{}, "AWS::Route53::CidrCollection": &route53.CidrCollection{}, @@ -19663,6 +19664,30 @@ func (t *Template) GetRoboMakerSimulationApplicationVersionWithName(name string) return nil, fmt.Errorf("resource %q of type robomaker.SimulationApplicationVersion not found", name) } +// GetAllRolesAnywhereCRLResources retrieves all rolesanywhere.CRL items from an AWS CloudFormation template +func (t *Template) GetAllRolesAnywhereCRLResources() map[string]*rolesanywhere.CRL { + results := map[string]*rolesanywhere.CRL{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *rolesanywhere.CRL: + results[name] = resource + } + } + return results +} + +// GetRolesAnywhereCRLWithName retrieves all rolesanywhere.CRL items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRolesAnywhereCRLWithName(name string) (*rolesanywhere.CRL, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *rolesanywhere.CRL: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type rolesanywhere.CRL not found", name) +} + // GetAllRolesAnywhereProfileResources retrieves all rolesanywhere.Profile items from an AWS CloudFormation template func (t *Template) GetAllRolesAnywhereProfileResources() map[string]*rolesanywhere.Profile { results := map[string]*rolesanywhere.Profile{} diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go index c348ad378e..7f28f42080 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy.go @@ -11,62 +11,62 @@ import ( ) // ScalingPolicy AWS CloudFormation Resource (AWS::AutoScaling::ScalingPolicy) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html type ScalingPolicy struct { // AdjustmentType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-adjustmenttype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-adjustmenttype AdjustmentType *string `json:"AdjustmentType,omitempty"` // AutoScalingGroupName AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-autoscalinggroupname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-autoscalinggroupname AutoScalingGroupName string `json:"AutoScalingGroupName"` // Cooldown AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-cooldown + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-cooldown Cooldown *string `json:"Cooldown,omitempty"` // EstimatedInstanceWarmup AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-estimatedinstancewarmup + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-estimatedinstancewarmup EstimatedInstanceWarmup *int `json:"EstimatedInstanceWarmup,omitempty"` // MetricAggregationType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-metricaggregationtype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-metricaggregationtype MetricAggregationType *string `json:"MetricAggregationType,omitempty"` // MinAdjustmentMagnitude AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-minadjustmentmagnitude + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-minadjustmentmagnitude MinAdjustmentMagnitude *int `json:"MinAdjustmentMagnitude,omitempty"` // PolicyType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-policytype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-policytype PolicyType *string `json:"PolicyType,omitempty"` // PredictiveScalingConfiguration AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration PredictiveScalingConfiguration *ScalingPolicy_PredictiveScalingConfiguration `json:"PredictiveScalingConfiguration,omitempty"` // ScalingAdjustment AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-scalingadjustment + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-scalingadjustment ScalingAdjustment *int `json:"ScalingAdjustment,omitempty"` // StepAdjustments AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-stepadjustments + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-stepadjustments StepAdjustments *[]ScalingPolicy_StepAdjustment `json:"StepAdjustments,omitempty"` // TargetTrackingConfiguration AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration TargetTrackingConfiguration *ScalingPolicy_TargetTrackingConfiguration `json:"TargetTrackingConfiguration,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go index 715203dbec..effa1c1b59 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go +++ b/cloudformation/autoscaling/aws-autoscaling-scalingpolicy_stepadjustment.go @@ -7,22 +7,22 @@ import ( ) // ScalingPolicy_StepAdjustment AWS CloudFormation Resource (AWS::AutoScaling::ScalingPolicy.StepAdjustment) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html type ScalingPolicy_StepAdjustment struct { // MetricIntervalLowerBound AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervallowerbound + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervallowerbound MetricIntervalLowerBound *float64 `json:"MetricIntervalLowerBound,omitempty"` // MetricIntervalUpperBound AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervalupperbound + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervalupperbound MetricIntervalUpperBound *float64 `json:"MetricIntervalUpperBound,omitempty"` // ScalingAdjustment AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-scalingadjustment + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html#cfn-autoscaling-scalingpolicy-stepadjustment-scalingadjustment ScalingAdjustment int `json:"ScalingAdjustment"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/config/aws-config-configrule_custompolicydetails.go b/cloudformation/config/aws-config-configrule_custompolicydetails.go new file mode 100644 index 0000000000..dd766f19ed --- /dev/null +++ b/cloudformation/config/aws-config-configrule_custompolicydetails.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package config + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// ConfigRule_CustomPolicyDetails AWS CloudFormation Resource (AWS::Config::ConfigRule.CustomPolicyDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-custompolicydetails.html +type ConfigRule_CustomPolicyDetails struct { + + // EnableDebugLogDelivery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-custompolicydetails.html#cfn-config-configrule-custompolicydetails-enabledebuglogdelivery + EnableDebugLogDelivery *bool `json:"EnableDebugLogDelivery,omitempty"` + + // PolicyRuntime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-custompolicydetails.html#cfn-config-configrule-custompolicydetails-policyruntime + PolicyRuntime *string `json:"PolicyRuntime,omitempty"` + + // PolicyText AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-custompolicydetails.html#cfn-config-configrule-custompolicydetails-policytext + PolicyText *string `json:"PolicyText,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ConfigRule_CustomPolicyDetails) AWSCloudFormationType() string { + return "AWS::Config::ConfigRule.CustomPolicyDetails" +} diff --git a/cloudformation/config/aws-config-configrule_source.go b/cloudformation/config/aws-config-configrule_source.go index f5df53c7d3..172bd7931f 100644 --- a/cloudformation/config/aws-config-configrule_source.go +++ b/cloudformation/config/aws-config-configrule_source.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html type ConfigRule_Source struct { + // CustomPolicyDetails AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html#cfn-config-configrule-source-custompolicydetails + CustomPolicyDetails *ConfigRule_CustomPolicyDetails `json:"CustomPolicyDetails,omitempty"` + // Owner AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html#cfn-config-configrule-source-owner diff --git a/cloudformation/ec2/aws-ec2-placementgroup.go b/cloudformation/ec2/aws-ec2-placementgroup.go index ce72b9fd17..62af1bc888 100644 --- a/cloudformation/ec2/aws-ec2-placementgroup.go +++ b/cloudformation/ec2/aws-ec2-placementgroup.go @@ -14,6 +14,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html type PlacementGroup struct { + // SpreadLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-spreadlevel + SpreadLevel *string `json:"SpreadLevel,omitempty"` + // Strategy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-strategy diff --git a/cloudformation/rolesanywhere/aws-rolesanywhere-crl.go b/cloudformation/rolesanywhere/aws-rolesanywhere-crl.go new file mode 100644 index 0000000000..97b2063aa0 --- /dev/null +++ b/cloudformation/rolesanywhere/aws-rolesanywhere-crl.go @@ -0,0 +1,140 @@ +// Code generated by "go generate". Please don't change this file directly. + +package rolesanywhere + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v6/cloudformation/policies" + "github.com/awslabs/goformation/v6/cloudformation/tags" +) + +// CRL AWS CloudFormation Resource (AWS::RolesAnywhere::CRL) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html +type CRL struct { + + // CrlData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-crldata + CrlData *string `json:"CrlData,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-enabled + Enabled *bool `json:"Enabled,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-name + Name *string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-tags + Tags *[]tags.Tag `json:"Tags,omitempty"` + + // TrustAnchorArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-trustanchorarn + TrustAnchorArn *string `json:"TrustAnchorArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *CRL) AWSCloudFormationType() string { + return "AWS::RolesAnywhere::CRL" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r CRL) MarshalJSON() ([]byte, error) { + type Properties CRL + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *CRL) UnmarshalJSON(b []byte) error { + type Properties CRL + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = CRL(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go b/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go index 60f7490bfe..5ae28b245a 100644 --- a/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go +++ b/cloudformation/sagemaker/aws-sagemaker-notebookinstance.go @@ -35,6 +35,11 @@ type NotebookInstance struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-directinternetaccess DirectInternetAccess *string `json:"DirectInternetAccess,omitempty"` + // InstanceMetadataServiceConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration + InstanceMetadataServiceConfiguration *NotebookInstance_InstanceMetadataServiceConfiguration `json:"InstanceMetadataServiceConfiguration,omitempty"` + // InstanceType AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-instancetype diff --git a/cloudformation/sagemaker/aws-sagemaker-notebookinstance_instancemetadataserviceconfiguration.go b/cloudformation/sagemaker/aws-sagemaker-notebookinstance_instancemetadataserviceconfiguration.go new file mode 100644 index 0000000000..71c2482e97 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-notebookinstance_instancemetadataserviceconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// NotebookInstance_InstanceMetadataServiceConfiguration AWS CloudFormation Resource (AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration.html +type NotebookInstance_InstanceMetadataServiceConfiguration struct { + + // MinimumInstanceMetadataServiceVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstance-instancemetadataserviceconfiguration.html#cfn-sagemaker-notebookinstance-instancemetadataserviceconfiguration-minimuminstancemetadataserviceversion + MinimumInstanceMetadataServiceVersion string `json:"MinimumInstanceMetadataServiceVersion"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *NotebookInstance_InstanceMetadataServiceConfiguration) AWSCloudFormationType() string { + return "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam.go b/cloudformation/sagemaker/aws-sagemaker-workteam.go index 8826356d78..33fa8affcf 100644 --- a/cloudformation/sagemaker/aws-sagemaker-workteam.go +++ b/cloudformation/sagemaker/aws-sagemaker-workteam.go @@ -35,6 +35,11 @@ type Workteam struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-tags Tags *[]tags.Tag `json:"Tags,omitempty"` + // WorkforceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-workforcename + WorkforceName *string `json:"WorkforceName,omitempty"` + // WorkteamName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-workteamname diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go b/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go index 18bcaee68c..a0c4aa8d8f 100644 --- a/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-workteam_memberdefinition.go @@ -11,9 +11,14 @@ import ( type Workteam_MemberDefinition struct { // CognitoMemberDefinition AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html#cfn-sagemaker-workteam-memberdefinition-cognitomemberdefinition - CognitoMemberDefinition *Workteam_CognitoMemberDefinition `json:"CognitoMemberDefinition"` + CognitoMemberDefinition *Workteam_CognitoMemberDefinition `json:"CognitoMemberDefinition,omitempty"` + + // OidcMemberDefinition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html#cfn-sagemaker-workteam-memberdefinition-oidcmemberdefinition + OidcMemberDefinition *Workteam_OidcMemberDefinition `json:"OidcMemberDefinition,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-workteam_oidcmemberdefinition.go b/cloudformation/sagemaker/aws-sagemaker-workteam_oidcmemberdefinition.go new file mode 100644 index 0000000000..e54e8f4f34 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-workteam_oidcmemberdefinition.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// Workteam_OidcMemberDefinition AWS CloudFormation Resource (AWS::SageMaker::Workteam.OidcMemberDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-oidcmemberdefinition.html +type Workteam_OidcMemberDefinition struct { + + // OidcGroups AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-oidcmemberdefinition.html#cfn-sagemaker-workteam-oidcmemberdefinition-oidcgroups + OidcGroups []string `json:"OidcGroups"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Workteam_OidcMemberDefinition) AWSCloudFormationType() string { + return "AWS::SageMaker::Workteam.OidcMemberDefinition" +} diff --git a/schema/cdk.go b/schema/cdk.go index b971665a51..7aa4e6edb6 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -30302,6 +30302,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "type": "boolean" + }, + "PolicyRuntime": { + "type": "string" + }, + "PolicyText": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -30326,6 +30341,9 @@ var CdkSchema = `{ "AWS::Config::ConfigRule.Source": { "additionalProperties": false, "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails" + }, "Owner": { "type": "string" }, @@ -45234,6 +45252,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "SpreadLevel": { + "type": "string" + }, "Strategy": { "type": "string" } @@ -117316,6 +117337,82 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::RolesAnywhere::CRL": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CrlData": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrustAnchorArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { @@ -130272,6 +130369,9 @@ var CdkSchema = `{ "DirectInternetAccess": { "type": "string" }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" + }, "InstanceType": { "type": "string" }, @@ -130339,6 +130439,18 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "additionalProperties": false, + "properties": { + "MinimumInstanceMetadataServiceVersion": { + "type": "string" + } + }, + "required": [ + "MinimumInstanceMetadataServiceVersion" + ], + "type": "object" + }, "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { @@ -130836,6 +130948,9 @@ var CdkSchema = `{ }, "type": "array" }, + "WorkforceName": { + "type": "string" + }, "WorkteamName": { "type": "string" } @@ -130887,11 +131002,11 @@ var CdkSchema = `{ "properties": { "CognitoMemberDefinition": { "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition" } }, - "required": [ - "CognitoMemberDefinition" - ], "type": "object" }, "AWS::SageMaker::Workteam.NotificationConfiguration": { @@ -130906,6 +131021,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -142496,6 +142626,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::CRL" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 743512668b..7697b332c1 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -30297,6 +30297,21 @@ ], "type": "object" }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "type": "boolean" + }, + "PolicyRuntime": { + "type": "string" + }, + "PolicyText": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -30321,6 +30336,9 @@ "AWS::Config::ConfigRule.Source": { "additionalProperties": false, "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails" + }, "Owner": { "type": "string" }, @@ -45229,6 +45247,9 @@ "Properties": { "additionalProperties": false, "properties": { + "SpreadLevel": { + "type": "string" + }, "Strategy": { "type": "string" } @@ -117311,6 +117332,82 @@ ], "type": "object" }, + "AWS::RolesAnywhere::CRL": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CrlData": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrustAnchorArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { @@ -130267,6 +130364,9 @@ "DirectInternetAccess": { "type": "string" }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" + }, "InstanceType": { "type": "string" }, @@ -130334,6 +130434,18 @@ ], "type": "object" }, + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "additionalProperties": false, + "properties": { + "MinimumInstanceMetadataServiceVersion": { + "type": "string" + } + }, + "required": [ + "MinimumInstanceMetadataServiceVersion" + ], + "type": "object" + }, "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { @@ -130831,6 +130943,9 @@ }, "type": "array" }, + "WorkforceName": { + "type": "string" + }, "WorkteamName": { "type": "string" } @@ -130882,11 +130997,11 @@ "properties": { "CognitoMemberDefinition": { "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition" } }, - "required": [ - "CognitoMemberDefinition" - ], "type": "object" }, "AWS::SageMaker::Workteam.NotificationConfiguration": { @@ -130901,6 +131016,21 @@ ], "type": "object" }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -142491,6 +142621,9 @@ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::CRL" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 178dfa57f1..9dee363c16 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -30241,6 +30241,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "type": "boolean" + }, + "PolicyRuntime": { + "type": "string" + }, + "PolicyText": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -30265,6 +30280,9 @@ var CloudformationSchema = `{ "AWS::Config::ConfigRule.Source": { "additionalProperties": false, "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails" + }, "Owner": { "type": "string" }, @@ -45173,6 +45191,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "SpreadLevel": { + "type": "string" + }, "Strategy": { "type": "string" } @@ -117255,6 +117276,82 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::RolesAnywhere::CRL": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CrlData": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrustAnchorArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { @@ -130211,6 +130308,9 @@ var CloudformationSchema = `{ "DirectInternetAccess": { "type": "string" }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" + }, "InstanceType": { "type": "string" }, @@ -130278,6 +130378,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "additionalProperties": false, + "properties": { + "MinimumInstanceMetadataServiceVersion": { + "type": "string" + } + }, + "required": [ + "MinimumInstanceMetadataServiceVersion" + ], + "type": "object" + }, "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { @@ -130775,6 +130887,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "WorkforceName": { + "type": "string" + }, "WorkteamName": { "type": "string" } @@ -130826,11 +130941,11 @@ var CloudformationSchema = `{ "properties": { "CognitoMemberDefinition": { "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition" } }, - "required": [ - "CognitoMemberDefinition" - ], "type": "object" }, "AWS::SageMaker::Workteam.NotificationConfiguration": { @@ -130845,6 +130960,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -142432,6 +142562,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::CRL" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index e9478fe100..f05a74d105 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -30236,6 +30236,21 @@ ], "type": "object" }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "type": "boolean" + }, + "PolicyRuntime": { + "type": "string" + }, + "PolicyText": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -30260,6 +30275,9 @@ "AWS::Config::ConfigRule.Source": { "additionalProperties": false, "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails" + }, "Owner": { "type": "string" }, @@ -45168,6 +45186,9 @@ "Properties": { "additionalProperties": false, "properties": { + "SpreadLevel": { + "type": "string" + }, "Strategy": { "type": "string" } @@ -117250,6 +117271,82 @@ ], "type": "object" }, + "AWS::RolesAnywhere::CRL": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CrlData": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrustAnchorArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { @@ -130206,6 +130303,9 @@ "DirectInternetAccess": { "type": "string" }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" + }, "InstanceType": { "type": "string" }, @@ -130273,6 +130373,18 @@ ], "type": "object" }, + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "additionalProperties": false, + "properties": { + "MinimumInstanceMetadataServiceVersion": { + "type": "string" + } + }, + "required": [ + "MinimumInstanceMetadataServiceVersion" + ], + "type": "object" + }, "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { @@ -130770,6 +130882,9 @@ }, "type": "array" }, + "WorkforceName": { + "type": "string" + }, "WorkteamName": { "type": "string" } @@ -130821,11 +130936,11 @@ "properties": { "CognitoMemberDefinition": { "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition" } }, - "required": [ - "CognitoMemberDefinition" - ], "type": "object" }, "AWS::SageMaker::Workteam.NotificationConfiguration": { @@ -130840,6 +130955,21 @@ ], "type": "object" }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -142427,6 +142557,9 @@ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::CRL" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, diff --git a/schema/sam.go b/schema/sam.go index b1780f0eaf..f425c89829 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -30241,6 +30241,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "type": "boolean" + }, + "PolicyRuntime": { + "type": "string" + }, + "PolicyText": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -30265,6 +30280,9 @@ var SamSchema = `{ "AWS::Config::ConfigRule.Source": { "additionalProperties": false, "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails" + }, "Owner": { "type": "string" }, @@ -45173,6 +45191,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "SpreadLevel": { + "type": "string" + }, "Strategy": { "type": "string" } @@ -117255,6 +117276,82 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::RolesAnywhere::CRL": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CrlData": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrustAnchorArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { @@ -130211,6 +130308,9 @@ var SamSchema = `{ "DirectInternetAccess": { "type": "string" }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" + }, "InstanceType": { "type": "string" }, @@ -130278,6 +130378,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "additionalProperties": false, + "properties": { + "MinimumInstanceMetadataServiceVersion": { + "type": "string" + } + }, + "required": [ + "MinimumInstanceMetadataServiceVersion" + ], + "type": "object" + }, "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { @@ -130775,6 +130887,9 @@ var SamSchema = `{ }, "type": "array" }, + "WorkforceName": { + "type": "string" + }, "WorkteamName": { "type": "string" } @@ -130826,11 +130941,11 @@ var SamSchema = `{ "properties": { "CognitoMemberDefinition": { "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition" } }, - "required": [ - "CognitoMemberDefinition" - ], "type": "object" }, "AWS::SageMaker::Workteam.NotificationConfiguration": { @@ -130845,6 +130960,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -145313,6 +145443,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::CRL" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 035d6f8d5b..1cd5a87446 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -30236,6 +30236,21 @@ ], "type": "object" }, + "AWS::Config::ConfigRule.CustomPolicyDetails": { + "additionalProperties": false, + "properties": { + "EnableDebugLogDelivery": { + "type": "boolean" + }, + "PolicyRuntime": { + "type": "string" + }, + "PolicyText": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -30260,6 +30275,9 @@ "AWS::Config::ConfigRule.Source": { "additionalProperties": false, "properties": { + "CustomPolicyDetails": { + "$ref": "#/definitions/AWS::Config::ConfigRule.CustomPolicyDetails" + }, "Owner": { "type": "string" }, @@ -45168,6 +45186,9 @@ "Properties": { "additionalProperties": false, "properties": { + "SpreadLevel": { + "type": "string" + }, "Strategy": { "type": "string" } @@ -117250,6 +117271,82 @@ ], "type": "object" }, + "AWS::RolesAnywhere::CRL": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CrlData": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrustAnchorArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { @@ -130206,6 +130303,9 @@ "DirectInternetAccess": { "type": "string" }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration" + }, "InstanceType": { "type": "string" }, @@ -130273,6 +130373,18 @@ ], "type": "object" }, + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "additionalProperties": false, + "properties": { + "MinimumInstanceMetadataServiceVersion": { + "type": "string" + } + }, + "required": [ + "MinimumInstanceMetadataServiceVersion" + ], + "type": "object" + }, "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { @@ -130770,6 +130882,9 @@ }, "type": "array" }, + "WorkforceName": { + "type": "string" + }, "WorkteamName": { "type": "string" } @@ -130821,11 +130936,11 @@ "properties": { "CognitoMemberDefinition": { "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition" } }, - "required": [ - "CognitoMemberDefinition" - ], "type": "object" }, "AWS::SageMaker::Workteam.NotificationConfiguration": { @@ -130840,6 +130955,21 @@ ], "type": "object" }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::SecretsManager::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -145308,6 +145438,9 @@ { "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" }, + { + "$ref": "#/definitions/AWS::RolesAnywhere::CRL" + }, { "$ref": "#/definitions/AWS::RolesAnywhere::Profile" },