From 8b332a43dfe784d3c029cb0e9297dab4030ea943 Mon Sep 17 00:00:00 2001 From: AWS GoFormation <41612521+aws-goformation@users.noreply.github.com> Date: Fri, 15 Mar 2019 08:33:36 +0400 Subject: [PATCH] feat(schema): AWS CloudFormation Update (2019-03-15) (#189) --- cloudformation/all.go | 375 ++++ .../resources/aws-appstream-fleet.go | 5 + .../resources/aws-appstream-imagebuilder.go | 5 + .../resources/aws-appstream-stack.go | 5 + ...s-codebuild-project_gitsubmodulesconfig.go | 57 + .../aws-codebuild-project_s3logsconfig.go | 5 + .../resources/aws-codebuild-project_source.go | 5 + .../aws-greengrass-connectordefinition.go | 119 + ...reengrass-connectordefinition_connector.go | 67 + ...ordefinition_connectordefinitionversion.go | 57 + ...s-greengrass-connectordefinitionversion.go | 119 + ...ss-connectordefinitionversion_connector.go | 67 + .../aws-greengrass-coredefinition.go | 119 + .../aws-greengrass-coredefinition_core.go | 72 + ...ss-coredefinition_coredefinitionversion.go | 57 + .../aws-greengrass-coredefinitionversion.go | 119 + ...s-greengrass-coredefinitionversion_core.go | 72 + .../aws-greengrass-devicedefinition.go | 119 + .../aws-greengrass-devicedefinition_device.go | 72 + ...evicedefinition_devicedefinitionversion.go | 57 + .../aws-greengrass-devicedefinitionversion.go | 119 + ...eengrass-devicedefinitionversion_device.go | 72 + .../aws-greengrass-functiondefinition.go | 119 + ...ngrass-functiondefinition_defaultconfig.go | 57 + ...eengrass-functiondefinition_environment.go | 72 + ...greengrass-functiondefinition_execution.go | 62 + ...-greengrass-functiondefinition_function.go | 67 + ...unctiondefinition_functionconfiguration.go | 87 + ...iondefinition_functiondefinitionversion.go | 62 + ...functiondefinition_resourceaccesspolicy.go | 62 + ...aws-greengrass-functiondefinition_runas.go | 62 + ...ws-greengrass-functiondefinitionversion.go | 124 ++ ...functiondefinitionversion_defaultconfig.go | 57 + ...s-functiondefinitionversion_environment.go | 72 + ...ass-functiondefinitionversion_execution.go | 62 + ...rass-functiondefinitionversion_function.go | 67 + ...definitionversion_functionconfiguration.go | 87 + ...ndefinitionversion_resourceaccesspolicy.go | 62 + ...engrass-functiondefinitionversion_runas.go | 62 + .../resources/aws-greengrass-group.go | 124 ++ .../aws-greengrass-group_groupversion.go | 87 + .../resources/aws-greengrass-groupversion.go | 149 ++ .../aws-greengrass-loggerdefinition.go | 119 + .../aws-greengrass-loggerdefinition_logger.go | 77 + ...oggerdefinition_loggerdefinitionversion.go | 57 + .../aws-greengrass-loggerdefinitionversion.go | 119 + ...eengrass-loggerdefinitionversion_logger.go | 77 + ...ws-greengrass-resourcedefinitionversion.go | 119 + ...urcedefinitionversion_groupownersetting.go | 62 + ...finitionversion_localdeviceresourcedata.go | 62 + ...finitionversion_localvolumeresourcedata.go | 67 + ...definitionversion_resourcedatacontainer.go | 77 + ...ourcedefinitionversion_resourceinstance.go | 67 + ...sion_s3machinelearningmodelresourcedata.go | 62 + ...gemakermachinelearningmodelresourcedata.go | 62 + ...ersion_secretsmanagersecretresourcedata.go | 62 + .../aws-greengrass-subscriptiondefinition.go | 119 + ...ass-subscriptiondefinition_subscription.go | 72 + ...efinition_subscriptiondefinitionversion.go | 57 + ...reengrass-subscriptiondefinitionversion.go | 119 + ...scriptiondefinitionversion_subscription.go | 72 + .../aws-sagemaker-notebookinstance.go | 5 + schema/cloudformation.go | 1941 ++++++++++++++++- schema/cloudformation.schema.json | 1941 ++++++++++++++++- schema/sam.go | 1941 ++++++++++++++++- schema/sam.schema.json | 1941 ++++++++++++++++- 66 files changed, 12240 insertions(+), 424 deletions(-) create mode 100644 cloudformation/resources/aws-codebuild-project_gitsubmodulesconfig.go create mode 100644 cloudformation/resources/aws-greengrass-connectordefinition.go create mode 100644 cloudformation/resources/aws-greengrass-connectordefinition_connector.go create mode 100644 cloudformation/resources/aws-greengrass-connectordefinition_connectordefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-connectordefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-connectordefinitionversion_connector.go create mode 100644 cloudformation/resources/aws-greengrass-coredefinition.go create mode 100644 cloudformation/resources/aws-greengrass-coredefinition_core.go create mode 100644 cloudformation/resources/aws-greengrass-coredefinition_coredefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-coredefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-coredefinitionversion_core.go create mode 100644 cloudformation/resources/aws-greengrass-devicedefinition.go create mode 100644 cloudformation/resources/aws-greengrass-devicedefinition_device.go create mode 100644 cloudformation/resources/aws-greengrass-devicedefinition_devicedefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-devicedefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-devicedefinitionversion_device.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_defaultconfig.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_environment.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_execution.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_function.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_functionconfiguration.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_functiondefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_resourceaccesspolicy.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinition_runas.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_defaultconfig.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_environment.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_execution.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_function.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_functionconfiguration.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go create mode 100644 cloudformation/resources/aws-greengrass-functiondefinitionversion_runas.go create mode 100644 cloudformation/resources/aws-greengrass-group.go create mode 100644 cloudformation/resources/aws-greengrass-group_groupversion.go create mode 100644 cloudformation/resources/aws-greengrass-groupversion.go create mode 100644 cloudformation/resources/aws-greengrass-loggerdefinition.go create mode 100644 cloudformation/resources/aws-greengrass-loggerdefinition_logger.go create mode 100644 cloudformation/resources/aws-greengrass-loggerdefinition_loggerdefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-loggerdefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-loggerdefinitionversion_logger.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_groupownersetting.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourceinstance.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go create mode 100644 cloudformation/resources/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go create mode 100644 cloudformation/resources/aws-greengrass-subscriptiondefinition.go create mode 100644 cloudformation/resources/aws-greengrass-subscriptiondefinition_subscription.go create mode 100644 cloudformation/resources/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-subscriptiondefinitionversion.go create mode 100644 cloudformation/resources/aws-greengrass-subscriptiondefinitionversion_subscription.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 84345816f6..0cb8fb8764 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -209,6 +209,21 @@ func AllResources() map[string]Resource { "AWS::Glue::Partition": &resources.AWSGluePartition{}, "AWS::Glue::Table": &resources.AWSGlueTable{}, "AWS::Glue::Trigger": &resources.AWSGlueTrigger{}, + "AWS::Greengrass::ConnectorDefinition": &resources.AWSGreengrassConnectorDefinition{}, + "AWS::Greengrass::ConnectorDefinitionVersion": &resources.AWSGreengrassConnectorDefinitionVersion{}, + "AWS::Greengrass::CoreDefinition": &resources.AWSGreengrassCoreDefinition{}, + "AWS::Greengrass::CoreDefinitionVersion": &resources.AWSGreengrassCoreDefinitionVersion{}, + "AWS::Greengrass::DeviceDefinition": &resources.AWSGreengrassDeviceDefinition{}, + "AWS::Greengrass::DeviceDefinitionVersion": &resources.AWSGreengrassDeviceDefinitionVersion{}, + "AWS::Greengrass::FunctionDefinition": &resources.AWSGreengrassFunctionDefinition{}, + "AWS::Greengrass::FunctionDefinitionVersion": &resources.AWSGreengrassFunctionDefinitionVersion{}, + "AWS::Greengrass::Group": &resources.AWSGreengrassGroup{}, + "AWS::Greengrass::GroupVersion": &resources.AWSGreengrassGroupVersion{}, + "AWS::Greengrass::LoggerDefinition": &resources.AWSGreengrassLoggerDefinition{}, + "AWS::Greengrass::LoggerDefinitionVersion": &resources.AWSGreengrassLoggerDefinitionVersion{}, + "AWS::Greengrass::ResourceDefinitionVersion": &resources.AWSGreengrassResourceDefinitionVersion{}, + "AWS::Greengrass::SubscriptionDefinition": &resources.AWSGreengrassSubscriptionDefinition{}, + "AWS::Greengrass::SubscriptionDefinitionVersion": &resources.AWSGreengrassSubscriptionDefinitionVersion{}, "AWS::GuardDuty::Detector": &resources.AWSGuardDutyDetector{}, "AWS::GuardDuty::Filter": &resources.AWSGuardDutyFilter{}, "AWS::GuardDuty::IPSet": &resources.AWSGuardDutyIPSet{}, @@ -5203,6 +5218,366 @@ func (t *Template) GetAWSGlueTriggerWithName(name string) (*resources.AWSGlueTri return nil, fmt.Errorf("resource %q of type AWSGlueTrigger not found", name) } +// GetAllAWSGreengrassConnectorDefinitionResources retrieves all AWSGreengrassConnectorDefinition items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassConnectorDefinitionResources() map[string]*resources.AWSGreengrassConnectorDefinition { + results := map[string]*resources.AWSGreengrassConnectorDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassConnectorDefinition: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassConnectorDefinitionWithName retrieves all AWSGreengrassConnectorDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassConnectorDefinitionWithName(name string) (*resources.AWSGreengrassConnectorDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassConnectorDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassConnectorDefinition not found", name) +} + +// GetAllAWSGreengrassConnectorDefinitionVersionResources retrieves all AWSGreengrassConnectorDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassConnectorDefinitionVersionResources() map[string]*resources.AWSGreengrassConnectorDefinitionVersion { + results := map[string]*resources.AWSGreengrassConnectorDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassConnectorDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassConnectorDefinitionVersionWithName retrieves all AWSGreengrassConnectorDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassConnectorDefinitionVersionWithName(name string) (*resources.AWSGreengrassConnectorDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassConnectorDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassConnectorDefinitionVersion not found", name) +} + +// GetAllAWSGreengrassCoreDefinitionResources retrieves all AWSGreengrassCoreDefinition items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassCoreDefinitionResources() map[string]*resources.AWSGreengrassCoreDefinition { + results := map[string]*resources.AWSGreengrassCoreDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassCoreDefinition: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassCoreDefinitionWithName retrieves all AWSGreengrassCoreDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassCoreDefinitionWithName(name string) (*resources.AWSGreengrassCoreDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassCoreDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassCoreDefinition not found", name) +} + +// GetAllAWSGreengrassCoreDefinitionVersionResources retrieves all AWSGreengrassCoreDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassCoreDefinitionVersionResources() map[string]*resources.AWSGreengrassCoreDefinitionVersion { + results := map[string]*resources.AWSGreengrassCoreDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassCoreDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassCoreDefinitionVersionWithName retrieves all AWSGreengrassCoreDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassCoreDefinitionVersionWithName(name string) (*resources.AWSGreengrassCoreDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassCoreDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassCoreDefinitionVersion not found", name) +} + +// GetAllAWSGreengrassDeviceDefinitionResources retrieves all AWSGreengrassDeviceDefinition items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassDeviceDefinitionResources() map[string]*resources.AWSGreengrassDeviceDefinition { + results := map[string]*resources.AWSGreengrassDeviceDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassDeviceDefinition: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassDeviceDefinitionWithName retrieves all AWSGreengrassDeviceDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassDeviceDefinitionWithName(name string) (*resources.AWSGreengrassDeviceDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassDeviceDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassDeviceDefinition not found", name) +} + +// GetAllAWSGreengrassDeviceDefinitionVersionResources retrieves all AWSGreengrassDeviceDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassDeviceDefinitionVersionResources() map[string]*resources.AWSGreengrassDeviceDefinitionVersion { + results := map[string]*resources.AWSGreengrassDeviceDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassDeviceDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassDeviceDefinitionVersionWithName retrieves all AWSGreengrassDeviceDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassDeviceDefinitionVersionWithName(name string) (*resources.AWSGreengrassDeviceDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassDeviceDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassDeviceDefinitionVersion not found", name) +} + +// GetAllAWSGreengrassFunctionDefinitionResources retrieves all AWSGreengrassFunctionDefinition items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassFunctionDefinitionResources() map[string]*resources.AWSGreengrassFunctionDefinition { + results := map[string]*resources.AWSGreengrassFunctionDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassFunctionDefinition: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassFunctionDefinitionWithName retrieves all AWSGreengrassFunctionDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassFunctionDefinitionWithName(name string) (*resources.AWSGreengrassFunctionDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassFunctionDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassFunctionDefinition not found", name) +} + +// GetAllAWSGreengrassFunctionDefinitionVersionResources retrieves all AWSGreengrassFunctionDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassFunctionDefinitionVersionResources() map[string]*resources.AWSGreengrassFunctionDefinitionVersion { + results := map[string]*resources.AWSGreengrassFunctionDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassFunctionDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassFunctionDefinitionVersionWithName retrieves all AWSGreengrassFunctionDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassFunctionDefinitionVersionWithName(name string) (*resources.AWSGreengrassFunctionDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassFunctionDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassFunctionDefinitionVersion not found", name) +} + +// GetAllAWSGreengrassGroupResources retrieves all AWSGreengrassGroup items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassGroupResources() map[string]*resources.AWSGreengrassGroup { + results := map[string]*resources.AWSGreengrassGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassGroup: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassGroupWithName retrieves all AWSGreengrassGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassGroupWithName(name string) (*resources.AWSGreengrassGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassGroup not found", name) +} + +// GetAllAWSGreengrassGroupVersionResources retrieves all AWSGreengrassGroupVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassGroupVersionResources() map[string]*resources.AWSGreengrassGroupVersion { + results := map[string]*resources.AWSGreengrassGroupVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassGroupVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassGroupVersionWithName retrieves all AWSGreengrassGroupVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassGroupVersionWithName(name string) (*resources.AWSGreengrassGroupVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassGroupVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassGroupVersion not found", name) +} + +// GetAllAWSGreengrassLoggerDefinitionResources retrieves all AWSGreengrassLoggerDefinition items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassLoggerDefinitionResources() map[string]*resources.AWSGreengrassLoggerDefinition { + results := map[string]*resources.AWSGreengrassLoggerDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassLoggerDefinition: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassLoggerDefinitionWithName retrieves all AWSGreengrassLoggerDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassLoggerDefinitionWithName(name string) (*resources.AWSGreengrassLoggerDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassLoggerDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassLoggerDefinition not found", name) +} + +// GetAllAWSGreengrassLoggerDefinitionVersionResources retrieves all AWSGreengrassLoggerDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassLoggerDefinitionVersionResources() map[string]*resources.AWSGreengrassLoggerDefinitionVersion { + results := map[string]*resources.AWSGreengrassLoggerDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassLoggerDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassLoggerDefinitionVersionWithName retrieves all AWSGreengrassLoggerDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassLoggerDefinitionVersionWithName(name string) (*resources.AWSGreengrassLoggerDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassLoggerDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassLoggerDefinitionVersion not found", name) +} + +// GetAllAWSGreengrassResourceDefinitionVersionResources retrieves all AWSGreengrassResourceDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassResourceDefinitionVersionResources() map[string]*resources.AWSGreengrassResourceDefinitionVersion { + results := map[string]*resources.AWSGreengrassResourceDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassResourceDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassResourceDefinitionVersionWithName retrieves all AWSGreengrassResourceDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassResourceDefinitionVersionWithName(name string) (*resources.AWSGreengrassResourceDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassResourceDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassResourceDefinitionVersion not found", name) +} + +// GetAllAWSGreengrassSubscriptionDefinitionResources retrieves all AWSGreengrassSubscriptionDefinition items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassSubscriptionDefinitionResources() map[string]*resources.AWSGreengrassSubscriptionDefinition { + results := map[string]*resources.AWSGreengrassSubscriptionDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassSubscriptionDefinition: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassSubscriptionDefinitionWithName retrieves all AWSGreengrassSubscriptionDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassSubscriptionDefinitionWithName(name string) (*resources.AWSGreengrassSubscriptionDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassSubscriptionDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassSubscriptionDefinition not found", name) +} + +// GetAllAWSGreengrassSubscriptionDefinitionVersionResources retrieves all AWSGreengrassSubscriptionDefinitionVersion items from an AWS CloudFormation template +func (t *Template) GetAllAWSGreengrassSubscriptionDefinitionVersionResources() map[string]*resources.AWSGreengrassSubscriptionDefinitionVersion { + results := map[string]*resources.AWSGreengrassSubscriptionDefinitionVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *resources.AWSGreengrassSubscriptionDefinitionVersion: + results[name] = resource + } + } + return results +} + +// GetAWSGreengrassSubscriptionDefinitionVersionWithName retrieves all AWSGreengrassSubscriptionDefinitionVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAWSGreengrassSubscriptionDefinitionVersionWithName(name string) (*resources.AWSGreengrassSubscriptionDefinitionVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *resources.AWSGreengrassSubscriptionDefinitionVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type AWSGreengrassSubscriptionDefinitionVersion not found", name) +} + // GetAllAWSGuardDutyDetectorResources retrieves all AWSGuardDutyDetector items from an AWS CloudFormation template func (t *Template) GetAllAWSGuardDutyDetectorResources() map[string]*resources.AWSGuardDutyDetector { results := map[string]*resources.AWSGuardDutyDetector{} diff --git a/cloudformation/resources/aws-appstream-fleet.go b/cloudformation/resources/aws-appstream-fleet.go index e10ed7b6f2..c111a160fa 100644 --- a/cloudformation/resources/aws-appstream-fleet.go +++ b/cloudformation/resources/aws-appstream-fleet.go @@ -71,6 +71,11 @@ type AWSAppStreamFleet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-tags + Tags []Tag `json:"Tags,omitempty"` + // VpcConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-vpcconfig diff --git a/cloudformation/resources/aws-appstream-imagebuilder.go b/cloudformation/resources/aws-appstream-imagebuilder.go index 6f317bea44..52636b7953 100644 --- a/cloudformation/resources/aws-appstream-imagebuilder.go +++ b/cloudformation/resources/aws-appstream-imagebuilder.go @@ -56,6 +56,11 @@ type AWSAppStreamImageBuilder struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name Name string `json:"Name,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags + Tags []Tag `json:"Tags,omitempty"` + // VpcConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig diff --git a/cloudformation/resources/aws-appstream-stack.go b/cloudformation/resources/aws-appstream-stack.go index ad4e7c8322..84ce734e29 100644 --- a/cloudformation/resources/aws-appstream-stack.go +++ b/cloudformation/resources/aws-appstream-stack.go @@ -56,6 +56,11 @@ type AWSAppStreamStack struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-storageconnectors StorageConnectors []AWSAppStreamStack_StorageConnector `json:"StorageConnectors,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-tags + Tags []Tag `json:"Tags,omitempty"` + // UserSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-usersettings diff --git a/cloudformation/resources/aws-codebuild-project_gitsubmodulesconfig.go b/cloudformation/resources/aws-codebuild-project_gitsubmodulesconfig.go new file mode 100644 index 0000000000..5dd9188d0c --- /dev/null +++ b/cloudformation/resources/aws-codebuild-project_gitsubmodulesconfig.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSCodeBuildProject_GitSubmodulesConfig AWS CloudFormation Resource (AWS::CodeBuild::Project.GitSubmodulesConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html +type AWSCodeBuildProject_GitSubmodulesConfig struct { + + // FetchSubmodules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html#cfn-codebuild-project-gitsubmodulesconfig-fetchsubmodules + FetchSubmodules bool `json:"FetchSubmodules"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSCodeBuildProject_GitSubmodulesConfig) AWSCloudFormationType() string { + return "AWS::CodeBuild::Project.GitSubmodulesConfig" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSCodeBuildProject_GitSubmodulesConfig) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSCodeBuildProject_GitSubmodulesConfig) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSCodeBuildProject_GitSubmodulesConfig) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSCodeBuildProject_GitSubmodulesConfig) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSCodeBuildProject_GitSubmodulesConfig) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-codebuild-project_s3logsconfig.go b/cloudformation/resources/aws-codebuild-project_s3logsconfig.go index 7ab60ca7b7..f3888f6126 100644 --- a/cloudformation/resources/aws-codebuild-project_s3logsconfig.go +++ b/cloudformation/resources/aws-codebuild-project_s3logsconfig.go @@ -6,6 +6,11 @@ import "github.com/awslabs/goformation/cloudformation/policies" // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html type AWSCodeBuildProject_S3LogsConfig struct { + // EncryptionDisabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-encryptiondisabled + EncryptionDisabled bool `json:"EncryptionDisabled,omitempty"` + // Location AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-location diff --git a/cloudformation/resources/aws-codebuild-project_source.go b/cloudformation/resources/aws-codebuild-project_source.go index 55aa136392..f5786e0d82 100644 --- a/cloudformation/resources/aws-codebuild-project_source.go +++ b/cloudformation/resources/aws-codebuild-project_source.go @@ -21,6 +21,11 @@ type AWSCodeBuildProject_Source struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitclonedepth GitCloneDepth int `json:"GitCloneDepth,omitempty"` + // GitSubmodulesConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitsubmodulesconfig + GitSubmodulesConfig *AWSCodeBuildProject_GitSubmodulesConfig `json:"GitSubmodulesConfig,omitempty"` + // InsecureSsl AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-insecuressl diff --git a/cloudformation/resources/aws-greengrass-connectordefinition.go b/cloudformation/resources/aws-greengrass-connectordefinition.go new file mode 100644 index 0000000000..5d62715e8e --- /dev/null +++ b/cloudformation/resources/aws-greengrass-connectordefinition.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassConnectorDefinition AWS CloudFormation Resource (AWS::Greengrass::ConnectorDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html +type AWSGreengrassConnectorDefinition struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-initialversion + InitialVersion *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassConnectorDefinition) AWSCloudFormationType() string { + return "AWS::Greengrass::ConnectorDefinition" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinition) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinition) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinition) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinition) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassConnectorDefinition) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassConnectorDefinition) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassConnectorDefinition + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassConnectorDefinition) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassConnectorDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassConnectorDefinition(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-connectordefinition_connector.go b/cloudformation/resources/aws-greengrass-connectordefinition_connector.go new file mode 100644 index 0000000000..ab2a6175f3 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-connectordefinition_connector.go @@ -0,0 +1,67 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassConnectorDefinition_Connector AWS CloudFormation Resource (AWS::Greengrass::ConnectorDefinition.Connector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html +type AWSGreengrassConnectorDefinition_Connector struct { + + // ConnectorArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-connectorarn + ConnectorArn string `json:"ConnectorArn,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-id + Id string `json:"Id,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-parameters + Parameters interface{} `json:"Parameters,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassConnectorDefinition_Connector) AWSCloudFormationType() string { + return "AWS::Greengrass::ConnectorDefinition.Connector" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinition_Connector) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinition_Connector) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinition_Connector) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinition_Connector) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassConnectorDefinition_Connector) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-connectordefinition_connectordefinitionversion.go b/cloudformation/resources/aws-greengrass-connectordefinition_connectordefinitionversion.go new file mode 100644 index 0000000000..c9722ee45b --- /dev/null +++ b/cloudformation/resources/aws-greengrass-connectordefinition_connectordefinitionversion.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html +type AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion struct { + + // Connectors AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html#cfn-greengrass-connectordefinition-connectordefinitionversion-connectors + Connectors []AWSGreengrassConnectorDefinition_Connector `json:"Connectors,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassConnectorDefinition_ConnectorDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-connectordefinitionversion.go b/cloudformation/resources/aws-greengrass-connectordefinitionversion.go new file mode 100644 index 0000000000..10b706ef96 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-connectordefinitionversion.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassConnectorDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::ConnectorDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html +type AWSGreengrassConnectorDefinitionVersion struct { + + // ConnectorDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectordefinitionid + ConnectorDefinitionId string `json:"ConnectorDefinitionId,omitempty"` + + // Connectors AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectors + Connectors []AWSGreengrassConnectorDefinitionVersion_Connector `json:"Connectors,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassConnectorDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::ConnectorDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassConnectorDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassConnectorDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassConnectorDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassConnectorDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassConnectorDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassConnectorDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-connectordefinitionversion_connector.go b/cloudformation/resources/aws-greengrass-connectordefinitionversion_connector.go new file mode 100644 index 0000000000..8f270e5c5b --- /dev/null +++ b/cloudformation/resources/aws-greengrass-connectordefinitionversion_connector.go @@ -0,0 +1,67 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassConnectorDefinitionVersion_Connector AWS CloudFormation Resource (AWS::Greengrass::ConnectorDefinitionVersion.Connector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html +type AWSGreengrassConnectorDefinitionVersion_Connector struct { + + // ConnectorArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-connectorarn + ConnectorArn string `json:"ConnectorArn,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-id + Id string `json:"Id,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-parameters + Parameters interface{} `json:"Parameters,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassConnectorDefinitionVersion_Connector) AWSCloudFormationType() string { + return "AWS::Greengrass::ConnectorDefinitionVersion.Connector" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinitionVersion_Connector) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassConnectorDefinitionVersion_Connector) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinitionVersion_Connector) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassConnectorDefinitionVersion_Connector) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassConnectorDefinitionVersion_Connector) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-coredefinition.go b/cloudformation/resources/aws-greengrass-coredefinition.go new file mode 100644 index 0000000000..7507755e8b --- /dev/null +++ b/cloudformation/resources/aws-greengrass-coredefinition.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassCoreDefinition AWS CloudFormation Resource (AWS::Greengrass::CoreDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html +type AWSGreengrassCoreDefinition struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-initialversion + InitialVersion *AWSGreengrassCoreDefinition_CoreDefinitionVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassCoreDefinition) AWSCloudFormationType() string { + return "AWS::Greengrass::CoreDefinition" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinition) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinition) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinition) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinition) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassCoreDefinition) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassCoreDefinition) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassCoreDefinition + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassCoreDefinition) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassCoreDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassCoreDefinition(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-coredefinition_core.go b/cloudformation/resources/aws-greengrass-coredefinition_core.go new file mode 100644 index 0000000000..71e188824f --- /dev/null +++ b/cloudformation/resources/aws-greengrass-coredefinition_core.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassCoreDefinition_Core AWS CloudFormation Resource (AWS::Greengrass::CoreDefinition.Core) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html +type AWSGreengrassCoreDefinition_Core struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-id + Id string `json:"Id,omitempty"` + + // SyncShadow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-syncshadow + SyncShadow bool `json:"SyncShadow,omitempty"` + + // ThingArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-thingarn + ThingArn string `json:"ThingArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassCoreDefinition_Core) AWSCloudFormationType() string { + return "AWS::Greengrass::CoreDefinition.Core" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinition_Core) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinition_Core) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinition_Core) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinition_Core) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassCoreDefinition_Core) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-coredefinition_coredefinitionversion.go b/cloudformation/resources/aws-greengrass-coredefinition_coredefinitionversion.go new file mode 100644 index 0000000000..ddc5b8121e --- /dev/null +++ b/cloudformation/resources/aws-greengrass-coredefinition_coredefinitionversion.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassCoreDefinition_CoreDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::CoreDefinition.CoreDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html +type AWSGreengrassCoreDefinition_CoreDefinitionVersion struct { + + // Cores AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html#cfn-greengrass-coredefinition-coredefinitionversion-cores + Cores []AWSGreengrassCoreDefinition_Core `json:"Cores,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassCoreDefinition_CoreDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinition_CoreDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinition_CoreDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinition_CoreDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinition_CoreDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassCoreDefinition_CoreDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-coredefinitionversion.go b/cloudformation/resources/aws-greengrass-coredefinitionversion.go new file mode 100644 index 0000000000..b26c4cabd5 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-coredefinitionversion.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassCoreDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::CoreDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html +type AWSGreengrassCoreDefinitionVersion struct { + + // CoreDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-coredefinitionid + CoreDefinitionId string `json:"CoreDefinitionId,omitempty"` + + // Cores AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-cores + Cores []AWSGreengrassCoreDefinitionVersion_Core `json:"Cores,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassCoreDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::CoreDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassCoreDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassCoreDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassCoreDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassCoreDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassCoreDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassCoreDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-coredefinitionversion_core.go b/cloudformation/resources/aws-greengrass-coredefinitionversion_core.go new file mode 100644 index 0000000000..7cf259920d --- /dev/null +++ b/cloudformation/resources/aws-greengrass-coredefinitionversion_core.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassCoreDefinitionVersion_Core AWS CloudFormation Resource (AWS::Greengrass::CoreDefinitionVersion.Core) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html +type AWSGreengrassCoreDefinitionVersion_Core struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-id + Id string `json:"Id,omitempty"` + + // SyncShadow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-syncshadow + SyncShadow bool `json:"SyncShadow,omitempty"` + + // ThingArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-thingarn + ThingArn string `json:"ThingArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassCoreDefinitionVersion_Core) AWSCloudFormationType() string { + return "AWS::Greengrass::CoreDefinitionVersion.Core" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinitionVersion_Core) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassCoreDefinitionVersion_Core) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinitionVersion_Core) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassCoreDefinitionVersion_Core) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassCoreDefinitionVersion_Core) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-devicedefinition.go b/cloudformation/resources/aws-greengrass-devicedefinition.go new file mode 100644 index 0000000000..a1456413b5 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-devicedefinition.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassDeviceDefinition AWS CloudFormation Resource (AWS::Greengrass::DeviceDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html +type AWSGreengrassDeviceDefinition struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-initialversion + InitialVersion *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassDeviceDefinition) AWSCloudFormationType() string { + return "AWS::Greengrass::DeviceDefinition" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinition) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinition) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinition) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinition) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassDeviceDefinition) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassDeviceDefinition) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassDeviceDefinition + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassDeviceDefinition) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassDeviceDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassDeviceDefinition(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-devicedefinition_device.go b/cloudformation/resources/aws-greengrass-devicedefinition_device.go new file mode 100644 index 0000000000..e1d6cb1ad9 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-devicedefinition_device.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassDeviceDefinition_Device AWS CloudFormation Resource (AWS::Greengrass::DeviceDefinition.Device) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html +type AWSGreengrassDeviceDefinition_Device struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-id + Id string `json:"Id,omitempty"` + + // SyncShadow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-syncshadow + SyncShadow bool `json:"SyncShadow,omitempty"` + + // ThingArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-thingarn + ThingArn string `json:"ThingArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassDeviceDefinition_Device) AWSCloudFormationType() string { + return "AWS::Greengrass::DeviceDefinition.Device" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinition_Device) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinition_Device) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinition_Device) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinition_Device) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassDeviceDefinition_Device) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-devicedefinition_devicedefinitionversion.go b/cloudformation/resources/aws-greengrass-devicedefinition_devicedefinitionversion.go new file mode 100644 index 0000000000..3263ba54fe --- /dev/null +++ b/cloudformation/resources/aws-greengrass-devicedefinition_devicedefinitionversion.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassDeviceDefinition_DeviceDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html +type AWSGreengrassDeviceDefinition_DeviceDefinitionVersion struct { + + // Devices AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html#cfn-greengrass-devicedefinition-devicedefinitionversion-devices + Devices []AWSGreengrassDeviceDefinition_Device `json:"Devices,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassDeviceDefinition_DeviceDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-devicedefinitionversion.go b/cloudformation/resources/aws-greengrass-devicedefinitionversion.go new file mode 100644 index 0000000000..31301f5652 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-devicedefinitionversion.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassDeviceDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::DeviceDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html +type AWSGreengrassDeviceDefinitionVersion struct { + + // DeviceDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devicedefinitionid + DeviceDefinitionId string `json:"DeviceDefinitionId,omitempty"` + + // Devices AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devices + Devices []AWSGreengrassDeviceDefinitionVersion_Device `json:"Devices,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassDeviceDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::DeviceDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassDeviceDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassDeviceDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassDeviceDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassDeviceDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassDeviceDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassDeviceDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-devicedefinitionversion_device.go b/cloudformation/resources/aws-greengrass-devicedefinitionversion_device.go new file mode 100644 index 0000000000..710f948f7b --- /dev/null +++ b/cloudformation/resources/aws-greengrass-devicedefinitionversion_device.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassDeviceDefinitionVersion_Device AWS CloudFormation Resource (AWS::Greengrass::DeviceDefinitionVersion.Device) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html +type AWSGreengrassDeviceDefinitionVersion_Device struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-id + Id string `json:"Id,omitempty"` + + // SyncShadow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-syncshadow + SyncShadow bool `json:"SyncShadow,omitempty"` + + // ThingArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-thingarn + ThingArn string `json:"ThingArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassDeviceDefinitionVersion_Device) AWSCloudFormationType() string { + return "AWS::Greengrass::DeviceDefinitionVersion.Device" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinitionVersion_Device) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassDeviceDefinitionVersion_Device) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinitionVersion_Device) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassDeviceDefinitionVersion_Device) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassDeviceDefinitionVersion_Device) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition.go b/cloudformation/resources/aws-greengrass-functiondefinition.go new file mode 100644 index 0000000000..2e70d913e5 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassFunctionDefinition AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html +type AWSGreengrassFunctionDefinition struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-initialversion + InitialVersion *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassFunctionDefinition) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassFunctionDefinition + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassFunctionDefinition) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassFunctionDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassFunctionDefinition(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_defaultconfig.go b/cloudformation/resources/aws-greengrass-functiondefinition_defaultconfig.go new file mode 100644 index 0000000000..cb52705fcc --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_defaultconfig.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_DefaultConfig AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.DefaultConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html +type AWSGreengrassFunctionDefinition_DefaultConfig struct { + + // Execution AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html#cfn-greengrass-functiondefinition-defaultconfig-execution + Execution *AWSGreengrassFunctionDefinition_Execution `json:"Execution,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_DefaultConfig) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.DefaultConfig" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_DefaultConfig) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_DefaultConfig) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_DefaultConfig) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_DefaultConfig) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_DefaultConfig) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_environment.go b/cloudformation/resources/aws-greengrass-functiondefinition_environment.go new file mode 100644 index 0000000000..9c1e8f6f8a --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_environment.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_Environment AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html +type AWSGreengrassFunctionDefinition_Environment struct { + + // AccessSysfs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-accesssysfs + AccessSysfs bool `json:"AccessSysfs,omitempty"` + + // Execution AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-execution + Execution *AWSGreengrassFunctionDefinition_Execution `json:"Execution,omitempty"` + + // ResourceAccessPolicies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-resourceaccesspolicies + ResourceAccessPolicies []AWSGreengrassFunctionDefinition_ResourceAccessPolicy `json:"ResourceAccessPolicies,omitempty"` + + // Variables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-variables + Variables interface{} `json:"Variables,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_Environment) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.Environment" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_Environment) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_Environment) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_Environment) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_Environment) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_Environment) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_execution.go b/cloudformation/resources/aws-greengrass-functiondefinition_execution.go new file mode 100644 index 0000000000..39625f1406 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_execution.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_Execution AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.Execution) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html +type AWSGreengrassFunctionDefinition_Execution struct { + + // IsolationMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-isolationmode + IsolationMode string `json:"IsolationMode,omitempty"` + + // RunAs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-runas + RunAs *AWSGreengrassFunctionDefinition_RunAs `json:"RunAs,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_Execution) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.Execution" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_Execution) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_Execution) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_Execution) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_Execution) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_Execution) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_function.go b/cloudformation/resources/aws-greengrass-functiondefinition_function.go new file mode 100644 index 0000000000..f1a85a7bfd --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_function.go @@ -0,0 +1,67 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_Function AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.Function) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html +type AWSGreengrassFunctionDefinition_Function struct { + + // FunctionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionarn + FunctionArn string `json:"FunctionArn,omitempty"` + + // FunctionConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionconfiguration + FunctionConfiguration *AWSGreengrassFunctionDefinition_FunctionConfiguration `json:"FunctionConfiguration,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-id + Id string `json:"Id,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_Function) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.Function" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_Function) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_Function) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_Function) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_Function) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_Function) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_functionconfiguration.go b/cloudformation/resources/aws-greengrass-functiondefinition_functionconfiguration.go new file mode 100644 index 0000000000..98b9379712 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_functionconfiguration.go @@ -0,0 +1,87 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_FunctionConfiguration AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.FunctionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html +type AWSGreengrassFunctionDefinition_FunctionConfiguration struct { + + // EncodingType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-encodingtype + EncodingType string `json:"EncodingType,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-environment + Environment *AWSGreengrassFunctionDefinition_Environment `json:"Environment,omitempty"` + + // ExecArgs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-execargs + ExecArgs string `json:"ExecArgs,omitempty"` + + // Executable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-executable + Executable string `json:"Executable,omitempty"` + + // MemorySize AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-memorysize + MemorySize int `json:"MemorySize"` + + // Pinned AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-pinned + Pinned bool `json:"Pinned,omitempty"` + + // Timeout AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-timeout + Timeout int `json:"Timeout"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_FunctionConfiguration) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.FunctionConfiguration" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_FunctionConfiguration) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_FunctionConfiguration) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_FunctionConfiguration) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_FunctionConfiguration) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_FunctionConfiguration) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_functiondefinitionversion.go b/cloudformation/resources/aws-greengrass-functiondefinition_functiondefinitionversion.go new file mode 100644 index 0000000000..6a944b2c49 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_functiondefinitionversion.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_FunctionDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html +type AWSGreengrassFunctionDefinition_FunctionDefinitionVersion struct { + + // DefaultConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-defaultconfig + DefaultConfig *AWSGreengrassFunctionDefinition_DefaultConfig `json:"DefaultConfig,omitempty"` + + // Functions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-functions + Functions []AWSGreengrassFunctionDefinition_Function `json:"Functions,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_FunctionDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_resourceaccesspolicy.go b/cloudformation/resources/aws-greengrass-functiondefinition_resourceaccesspolicy.go new file mode 100644 index 0000000000..59c00ea086 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_resourceaccesspolicy.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_ResourceAccessPolicy AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html +type AWSGreengrassFunctionDefinition_ResourceAccessPolicy struct { + + // Permission AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-permission + Permission string `json:"Permission,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_ResourceAccessPolicy) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_ResourceAccessPolicy) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_ResourceAccessPolicy) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_ResourceAccessPolicy) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_ResourceAccessPolicy) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_ResourceAccessPolicy) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinition_runas.go b/cloudformation/resources/aws-greengrass-functiondefinition_runas.go new file mode 100644 index 0000000000..29daae14e0 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinition_runas.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinition_RunAs AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinition.RunAs) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html +type AWSGreengrassFunctionDefinition_RunAs struct { + + // Gid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-gid + Gid int `json:"Gid,omitempty"` + + // Uid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-uid + Uid int `json:"Uid,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinition_RunAs) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinition.RunAs" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_RunAs) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinition_RunAs) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_RunAs) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinition_RunAs) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinition_RunAs) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion.go new file mode 100644 index 0000000000..68d7028e57 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion.go @@ -0,0 +1,124 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassFunctionDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html +type AWSGreengrassFunctionDefinitionVersion struct { + + // DefaultConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-defaultconfig + DefaultConfig *AWSGreengrassFunctionDefinitionVersion_DefaultConfig `json:"DefaultConfig,omitempty"` + + // FunctionDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functiondefinitionid + FunctionDefinitionId string `json:"FunctionDefinitionId,omitempty"` + + // Functions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functions + Functions []AWSGreengrassFunctionDefinitionVersion_Function `json:"Functions,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassFunctionDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassFunctionDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassFunctionDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassFunctionDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassFunctionDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_defaultconfig.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_defaultconfig.go new file mode 100644 index 0000000000..de01c9ac92 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_defaultconfig.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_DefaultConfig AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html +type AWSGreengrassFunctionDefinitionVersion_DefaultConfig struct { + + // Execution AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html#cfn-greengrass-functiondefinitionversion-defaultconfig-execution + Execution *AWSGreengrassFunctionDefinitionVersion_Execution `json:"Execution,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_DefaultConfig) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_DefaultConfig) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_DefaultConfig) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_DefaultConfig) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_DefaultConfig) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_DefaultConfig) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_environment.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_environment.go new file mode 100644 index 0000000000..caaf3b91d1 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_environment.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_Environment AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.Environment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html +type AWSGreengrassFunctionDefinitionVersion_Environment struct { + + // AccessSysfs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-accesssysfs + AccessSysfs bool `json:"AccessSysfs,omitempty"` + + // Execution AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-execution + Execution *AWSGreengrassFunctionDefinitionVersion_Execution `json:"Execution,omitempty"` + + // ResourceAccessPolicies AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-resourceaccesspolicies + ResourceAccessPolicies []AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy `json:"ResourceAccessPolicies,omitempty"` + + // Variables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-variables + Variables interface{} `json:"Variables,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_Environment) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.Environment" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_Environment) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_Environment) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_Environment) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_Environment) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_Environment) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_execution.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_execution.go new file mode 100644 index 0000000000..0ba79c6ab4 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_execution.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_Execution AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.Execution) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html +type AWSGreengrassFunctionDefinitionVersion_Execution struct { + + // IsolationMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-isolationmode + IsolationMode string `json:"IsolationMode,omitempty"` + + // RunAs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-runas + RunAs *AWSGreengrassFunctionDefinitionVersion_RunAs `json:"RunAs,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_Execution) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.Execution" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_Execution) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_Execution) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_Execution) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_Execution) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_Execution) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_function.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_function.go new file mode 100644 index 0000000000..cd2612dc28 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_function.go @@ -0,0 +1,67 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_Function AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.Function) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html +type AWSGreengrassFunctionDefinitionVersion_Function struct { + + // FunctionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionarn + FunctionArn string `json:"FunctionArn,omitempty"` + + // FunctionConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionconfiguration + FunctionConfiguration *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration `json:"FunctionConfiguration,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-id + Id string `json:"Id,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_Function) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.Function" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_Function) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_Function) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_Function) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_Function) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_Function) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_functionconfiguration.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_functionconfiguration.go new file mode 100644 index 0000000000..37ac3e8225 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_functionconfiguration.go @@ -0,0 +1,87 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html +type AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration struct { + + // EncodingType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-encodingtype + EncodingType string `json:"EncodingType,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-environment + Environment *AWSGreengrassFunctionDefinitionVersion_Environment `json:"Environment,omitempty"` + + // ExecArgs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-execargs + ExecArgs string `json:"ExecArgs,omitempty"` + + // Executable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-executable + Executable string `json:"Executable,omitempty"` + + // MemorySize AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-memorysize + MemorySize int `json:"MemorySize"` + + // Pinned AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-pinned + Pinned bool `json:"Pinned,omitempty"` + + // Timeout AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-timeout + Timeout int `json:"Timeout"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_FunctionConfiguration) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go new file mode 100644 index 0000000000..947475f100 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_resourceaccesspolicy.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html +type AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy struct { + + // Permission AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-permission + Permission string `json:"Permission,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-resourceid + ResourceId string `json:"ResourceId,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_ResourceAccessPolicy) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-functiondefinitionversion_runas.go b/cloudformation/resources/aws-greengrass-functiondefinitionversion_runas.go new file mode 100644 index 0000000000..109a915660 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-functiondefinitionversion_runas.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassFunctionDefinitionVersion_RunAs AWS CloudFormation Resource (AWS::Greengrass::FunctionDefinitionVersion.RunAs) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html +type AWSGreengrassFunctionDefinitionVersion_RunAs struct { + + // Gid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-gid + Gid int `json:"Gid,omitempty"` + + // Uid AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-uid + Uid int `json:"Uid,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassFunctionDefinitionVersion_RunAs) AWSCloudFormationType() string { + return "AWS::Greengrass::FunctionDefinitionVersion.RunAs" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_RunAs) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassFunctionDefinitionVersion_RunAs) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_RunAs) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassFunctionDefinitionVersion_RunAs) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassFunctionDefinitionVersion_RunAs) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-group.go b/cloudformation/resources/aws-greengrass-group.go new file mode 100644 index 0000000000..f28a7a5aca --- /dev/null +++ b/cloudformation/resources/aws-greengrass-group.go @@ -0,0 +1,124 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassGroup AWS CloudFormation Resource (AWS::Greengrass::Group) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html +type AWSGreengrassGroup struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-initialversion + InitialVersion *AWSGreengrassGroup_GroupVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-name + Name string `json:"Name,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassGroup) AWSCloudFormationType() string { + return "AWS::Greengrass::Group" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassGroup) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassGroup) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassGroup) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassGroup) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassGroup) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassGroup) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassGroup + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassGroup) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassGroup + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassGroup(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-group_groupversion.go b/cloudformation/resources/aws-greengrass-group_groupversion.go new file mode 100644 index 0000000000..56159a186d --- /dev/null +++ b/cloudformation/resources/aws-greengrass-group_groupversion.go @@ -0,0 +1,87 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassGroup_GroupVersion AWS CloudFormation Resource (AWS::Greengrass::Group.GroupVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html +type AWSGreengrassGroup_GroupVersion struct { + + // ConnectorDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-connectordefinitionversionarn + ConnectorDefinitionVersionArn string `json:"ConnectorDefinitionVersionArn,omitempty"` + + // CoreDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-coredefinitionversionarn + CoreDefinitionVersionArn string `json:"CoreDefinitionVersionArn,omitempty"` + + // DeviceDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-devicedefinitionversionarn + DeviceDefinitionVersionArn string `json:"DeviceDefinitionVersionArn,omitempty"` + + // FunctionDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-functiondefinitionversionarn + FunctionDefinitionVersionArn string `json:"FunctionDefinitionVersionArn,omitempty"` + + // LoggerDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-loggerdefinitionversionarn + LoggerDefinitionVersionArn string `json:"LoggerDefinitionVersionArn,omitempty"` + + // ResourceDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-resourcedefinitionversionarn + ResourceDefinitionVersionArn string `json:"ResourceDefinitionVersionArn,omitempty"` + + // SubscriptionDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-subscriptiondefinitionversionarn + SubscriptionDefinitionVersionArn string `json:"SubscriptionDefinitionVersionArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassGroup_GroupVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::Group.GroupVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassGroup_GroupVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassGroup_GroupVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassGroup_GroupVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassGroup_GroupVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassGroup_GroupVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-groupversion.go b/cloudformation/resources/aws-greengrass-groupversion.go new file mode 100644 index 0000000000..5fe2f973db --- /dev/null +++ b/cloudformation/resources/aws-greengrass-groupversion.go @@ -0,0 +1,149 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassGroupVersion AWS CloudFormation Resource (AWS::Greengrass::GroupVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html +type AWSGreengrassGroupVersion struct { + + // ConnectorDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn + ConnectorDefinitionVersionArn string `json:"ConnectorDefinitionVersionArn,omitempty"` + + // CoreDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn + CoreDefinitionVersionArn string `json:"CoreDefinitionVersionArn,omitempty"` + + // DeviceDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn + DeviceDefinitionVersionArn string `json:"DeviceDefinitionVersionArn,omitempty"` + + // FunctionDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn + FunctionDefinitionVersionArn string `json:"FunctionDefinitionVersionArn,omitempty"` + + // GroupId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-groupid + GroupId string `json:"GroupId,omitempty"` + + // LoggerDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn + LoggerDefinitionVersionArn string `json:"LoggerDefinitionVersionArn,omitempty"` + + // ResourceDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn + ResourceDefinitionVersionArn string `json:"ResourceDefinitionVersionArn,omitempty"` + + // SubscriptionDefinitionVersionArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn + SubscriptionDefinitionVersionArn string `json:"SubscriptionDefinitionVersionArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassGroupVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::GroupVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassGroupVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassGroupVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassGroupVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassGroupVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassGroupVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassGroupVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassGroupVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassGroupVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassGroupVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassGroupVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-loggerdefinition.go b/cloudformation/resources/aws-greengrass-loggerdefinition.go new file mode 100644 index 0000000000..2b0804d952 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-loggerdefinition.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassLoggerDefinition AWS CloudFormation Resource (AWS::Greengrass::LoggerDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html +type AWSGreengrassLoggerDefinition struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-initialversion + InitialVersion *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassLoggerDefinition) AWSCloudFormationType() string { + return "AWS::Greengrass::LoggerDefinition" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinition) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinition) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinition) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinition) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassLoggerDefinition) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassLoggerDefinition) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassLoggerDefinition + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassLoggerDefinition) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassLoggerDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassLoggerDefinition(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-loggerdefinition_logger.go b/cloudformation/resources/aws-greengrass-loggerdefinition_logger.go new file mode 100644 index 0000000000..7c8da78500 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-loggerdefinition_logger.go @@ -0,0 +1,77 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassLoggerDefinition_Logger AWS CloudFormation Resource (AWS::Greengrass::LoggerDefinition.Logger) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html +type AWSGreengrassLoggerDefinition_Logger struct { + + // Component AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-component + Component string `json:"Component,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-id + Id string `json:"Id,omitempty"` + + // Level AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-level + Level string `json:"Level,omitempty"` + + // Space AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-space + Space int `json:"Space,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-type + Type string `json:"Type,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassLoggerDefinition_Logger) AWSCloudFormationType() string { + return "AWS::Greengrass::LoggerDefinition.Logger" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinition_Logger) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinition_Logger) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinition_Logger) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinition_Logger) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassLoggerDefinition_Logger) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-loggerdefinition_loggerdefinitionversion.go b/cloudformation/resources/aws-greengrass-loggerdefinition_loggerdefinitionversion.go new file mode 100644 index 0000000000..6eed2f3792 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-loggerdefinition_loggerdefinitionversion.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassLoggerDefinition_LoggerDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html +type AWSGreengrassLoggerDefinition_LoggerDefinitionVersion struct { + + // Loggers AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html#cfn-greengrass-loggerdefinition-loggerdefinitionversion-loggers + Loggers []AWSGreengrassLoggerDefinition_Logger `json:"Loggers,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassLoggerDefinition_LoggerDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-loggerdefinitionversion.go b/cloudformation/resources/aws-greengrass-loggerdefinitionversion.go new file mode 100644 index 0000000000..c6ccd76120 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-loggerdefinitionversion.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassLoggerDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::LoggerDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html +type AWSGreengrassLoggerDefinitionVersion struct { + + // LoggerDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggerdefinitionid + LoggerDefinitionId string `json:"LoggerDefinitionId,omitempty"` + + // Loggers AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggers + Loggers []AWSGreengrassLoggerDefinitionVersion_Logger `json:"Loggers,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassLoggerDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::LoggerDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassLoggerDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassLoggerDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassLoggerDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassLoggerDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassLoggerDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassLoggerDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-loggerdefinitionversion_logger.go b/cloudformation/resources/aws-greengrass-loggerdefinitionversion_logger.go new file mode 100644 index 0000000000..8d9280307f --- /dev/null +++ b/cloudformation/resources/aws-greengrass-loggerdefinitionversion_logger.go @@ -0,0 +1,77 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassLoggerDefinitionVersion_Logger AWS CloudFormation Resource (AWS::Greengrass::LoggerDefinitionVersion.Logger) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html +type AWSGreengrassLoggerDefinitionVersion_Logger struct { + + // Component AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-component + Component string `json:"Component,omitempty"` + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-id + Id string `json:"Id,omitempty"` + + // Level AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-level + Level string `json:"Level,omitempty"` + + // Space AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-space + Space int `json:"Space,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-type + Type string `json:"Type,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassLoggerDefinitionVersion_Logger) AWSCloudFormationType() string { + return "AWS::Greengrass::LoggerDefinitionVersion.Logger" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinitionVersion_Logger) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassLoggerDefinitionVersion_Logger) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinitionVersion_Logger) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassLoggerDefinitionVersion_Logger) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassLoggerDefinitionVersion_Logger) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion.go new file mode 100644 index 0000000000..a44eb5c938 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassResourceDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html +type AWSGreengrassResourceDefinitionVersion struct { + + // ResourceDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resourcedefinitionid + ResourceDefinitionId string `json:"ResourceDefinitionId,omitempty"` + + // Resources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resources + Resources []AWSGreengrassResourceDefinitionVersion_ResourceInstance `json:"Resources,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassResourceDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassResourceDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassResourceDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassResourceDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassResourceDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_groupownersetting.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_groupownersetting.go new file mode 100644 index 0000000000..695efe79df --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_groupownersetting.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html +type AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting struct { + + // AutoAddGroupOwner AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-autoaddgroupowner + AutoAddGroupOwner bool `json:"AutoAddGroupOwner"` + + // GroupOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-groupowner + GroupOwner string `json:"GroupOwner,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go new file mode 100644 index 0000000000..0502eb1240 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_localdeviceresourcedata.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html +type AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData struct { + + // GroupOwnerSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-groupownersetting + GroupOwnerSetting *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting `json:"GroupOwnerSetting,omitempty"` + + // SourcePath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-sourcepath + SourcePath string `json:"SourcePath,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go new file mode 100644 index 0000000000..012d0f7de4 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_localvolumeresourcedata.go @@ -0,0 +1,67 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html +type AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData struct { + + // DestinationPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-destinationpath + DestinationPath string `json:"DestinationPath,omitempty"` + + // GroupOwnerSetting AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-groupownersetting + GroupOwnerSetting *AWSGreengrassResourceDefinitionVersion_GroupOwnerSetting `json:"GroupOwnerSetting,omitempty"` + + // SourcePath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-sourcepath + SourcePath string `json:"SourcePath,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go new file mode 100644 index 0000000000..3cc797b16a --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourcedatacontainer.go @@ -0,0 +1,77 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_ResourceDataContainer AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html +type AWSGreengrassResourceDefinitionVersion_ResourceDataContainer struct { + + // LocalDeviceResourceData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localdeviceresourcedata + LocalDeviceResourceData *AWSGreengrassResourceDefinitionVersion_LocalDeviceResourceData `json:"LocalDeviceResourceData,omitempty"` + + // LocalVolumeResourceData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localvolumeresourcedata + LocalVolumeResourceData *AWSGreengrassResourceDefinitionVersion_LocalVolumeResourceData `json:"LocalVolumeResourceData,omitempty"` + + // S3MachineLearningModelResourceData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-s3machinelearningmodelresourcedata + S3MachineLearningModelResourceData *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData `json:"S3MachineLearningModelResourceData,omitempty"` + + // SageMakerMachineLearningModelResourceData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-sagemakermachinelearningmodelresourcedata + SageMakerMachineLearningModelResourceData *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData `json:"SageMakerMachineLearningModelResourceData,omitempty"` + + // SecretsManagerSecretResourceData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-secretsmanagersecretresourcedata + SecretsManagerSecretResourceData *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData `json:"SecretsManagerSecretResourceData,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourceinstance.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourceinstance.go new file mode 100644 index 0000000000..3f6d82f80a --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_resourceinstance.go @@ -0,0 +1,67 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_ResourceInstance AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html +type AWSGreengrassResourceDefinitionVersion_ResourceInstance struct { + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-id + Id string `json:"Id,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-name + Name string `json:"Name,omitempty"` + + // ResourceDataContainer AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-resourcedatacontainer + ResourceDataContainer *AWSGreengrassResourceDefinitionVersion_ResourceDataContainer `json:"ResourceDataContainer,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_ResourceInstance) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceInstance) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceInstance) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceInstance) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceInstance) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_ResourceInstance) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go new file mode 100644 index 0000000000..66aa5c4b7d --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_s3machinelearningmodelresourcedata.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html +type AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData struct { + + // DestinationPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-destinationpath + DestinationPath string `json:"DestinationPath,omitempty"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-s3uri + S3Uri string `json:"S3Uri,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_S3MachineLearningModelResourceData) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go new file mode 100644 index 0000000000..d77c676362 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_sagemakermachinelearningmodelresourcedata.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html +type AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData struct { + + // DestinationPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-destinationpath + DestinationPath string `json:"DestinationPath,omitempty"` + + // SageMakerJobArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-sagemakerjobarn + SageMakerJobArn string `json:"SageMakerJobArn,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_SageMakerMachineLearningModelResourceData) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go new file mode 100644 index 0000000000..8a6065ba1d --- /dev/null +++ b/cloudformation/resources/aws-greengrass-resourcedefinitionversion_secretsmanagersecretresourcedata.go @@ -0,0 +1,62 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData AWS CloudFormation Resource (AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html +type AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData struct { + + // ARN AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-arn + ARN string `json:"ARN,omitempty"` + + // AdditionalStagingLabelsToDownload AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-additionalstaginglabelstodownload + AdditionalStagingLabelsToDownload []string `json:"AdditionalStagingLabelsToDownload,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData) AWSCloudFormationType() string { + return "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassResourceDefinitionVersion_SecretsManagerSecretResourceData) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-subscriptiondefinition.go b/cloudformation/resources/aws-greengrass-subscriptiondefinition.go new file mode 100644 index 0000000000..509007c953 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-subscriptiondefinition.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassSubscriptionDefinition AWS CloudFormation Resource (AWS::Greengrass::SubscriptionDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html +type AWSGreengrassSubscriptionDefinition struct { + + // InitialVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-initialversion + InitialVersion *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion `json:"InitialVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-name + Name string `json:"Name,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassSubscriptionDefinition) AWSCloudFormationType() string { + return "AWS::Greengrass::SubscriptionDefinition" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinition) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinition) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinition) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinition) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassSubscriptionDefinition) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassSubscriptionDefinition) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassSubscriptionDefinition + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassSubscriptionDefinition) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassSubscriptionDefinition + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassSubscriptionDefinition(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-subscriptiondefinition_subscription.go b/cloudformation/resources/aws-greengrass-subscriptiondefinition_subscription.go new file mode 100644 index 0000000000..5f54c3656d --- /dev/null +++ b/cloudformation/resources/aws-greengrass-subscriptiondefinition_subscription.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassSubscriptionDefinition_Subscription AWS CloudFormation Resource (AWS::Greengrass::SubscriptionDefinition.Subscription) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html +type AWSGreengrassSubscriptionDefinition_Subscription struct { + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-id + Id string `json:"Id,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-source + Source string `json:"Source,omitempty"` + + // Subject AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-subject + Subject string `json:"Subject,omitempty"` + + // Target AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-target + Target string `json:"Target,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassSubscriptionDefinition_Subscription) AWSCloudFormationType() string { + return "AWS::Greengrass::SubscriptionDefinition.Subscription" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinition_Subscription) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinition_Subscription) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinition_Subscription) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinition_Subscription) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassSubscriptionDefinition_Subscription) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go b/cloudformation/resources/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go new file mode 100644 index 0000000000..50c7ee7953 --- /dev/null +++ b/cloudformation/resources/aws-greengrass-subscriptiondefinition_subscriptiondefinitionversion.go @@ -0,0 +1,57 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html +type AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion struct { + + // Subscriptions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinition-subscriptiondefinitionversion-subscriptions + Subscriptions []AWSGreengrassSubscriptionDefinition_Subscription `json:"Subscriptions,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassSubscriptionDefinition_SubscriptionDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-greengrass-subscriptiondefinitionversion.go b/cloudformation/resources/aws-greengrass-subscriptiondefinitionversion.go new file mode 100644 index 0000000000..3ad0ee60cd --- /dev/null +++ b/cloudformation/resources/aws-greengrass-subscriptiondefinitionversion.go @@ -0,0 +1,119 @@ +package resources + +import ( + "bytes" + "encoding/json" + "fmt" + "github.com/awslabs/goformation/cloudformation/policies" +) + +// AWSGreengrassSubscriptionDefinitionVersion AWS CloudFormation Resource (AWS::Greengrass::SubscriptionDefinitionVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html +type AWSGreengrassSubscriptionDefinitionVersion struct { + + // SubscriptionDefinitionId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptiondefinitionid + SubscriptionDefinitionId string `json:"SubscriptionDefinitionId,omitempty"` + + // Subscriptions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptions + Subscriptions []AWSGreengrassSubscriptionDefinitionVersion_Subscription `json:"Subscriptions,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassSubscriptionDefinitionVersion) AWSCloudFormationType() string { + return "AWS::Greengrass::SubscriptionDefinitionVersion" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinitionVersion) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinitionVersion) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinitionVersion) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinitionVersion) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassSubscriptionDefinitionVersion) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} + +// 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 AWSGreengrassSubscriptionDefinitionVersion) MarshalJSON() ([]byte, error) { + type Properties AWSGreengrassSubscriptionDefinitionVersion + 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"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r._dependsOn, + Metadata: r._metadata, + DeletionPolicy: r._deletionPolicy, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *AWSGreengrassSubscriptionDefinitionVersion) UnmarshalJSON(b []byte) error { + type Properties AWSGreengrassSubscriptionDefinitionVersion + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + }{} + + 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 = AWSGreengrassSubscriptionDefinitionVersion(*res.Properties) + } + if res.DependsOn != nil { + r._dependsOn = res.DependsOn + } + if res.Metadata != nil { + r._metadata = res.Metadata + } + + return nil +} diff --git a/cloudformation/resources/aws-greengrass-subscriptiondefinitionversion_subscription.go b/cloudformation/resources/aws-greengrass-subscriptiondefinitionversion_subscription.go new file mode 100644 index 0000000000..4329440f1b --- /dev/null +++ b/cloudformation/resources/aws-greengrass-subscriptiondefinitionversion_subscription.go @@ -0,0 +1,72 @@ +package resources + +import "github.com/awslabs/goformation/cloudformation/policies" + +// AWSGreengrassSubscriptionDefinitionVersion_Subscription AWS CloudFormation Resource (AWS::Greengrass::SubscriptionDefinitionVersion.Subscription) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html +type AWSGreengrassSubscriptionDefinitionVersion_Subscription struct { + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-id + Id string `json:"Id,omitempty"` + + // Source AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-source + Source string `json:"Source,omitempty"` + + // Subject AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-subject + Subject string `json:"Subject,omitempty"` + + // Target AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-target + Target string `json:"Target,omitempty"` + + // _deletionPolicy represents a CloudFormation DeletionPolicy + _deletionPolicy policies.DeletionPolicy + + // _dependsOn stores the logical ID of the resources to be created before this resource + _dependsOn []string + + // _metadata stores structured data associated with this resource + _metadata map[string]interface{} +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AWSGreengrassSubscriptionDefinitionVersion_Subscription) AWSCloudFormationType() string { + return "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" +} + +// DependsOn returns a slice of logical ID names this resource depends on. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinitionVersion_Subscription) DependsOn() []string { + return r._dependsOn +} + +// SetDependsOn specify that the creation of this resource follows another. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html +func (r *AWSGreengrassSubscriptionDefinitionVersion_Subscription) SetDependsOn(dependencies []string) { + r._dependsOn = dependencies +} + +// Metadata returns the metadata associated with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinitionVersion_Subscription) Metadata() map[string]interface{} { + return r._metadata +} + +// SetMetadata enables you to associate structured data with this resource. +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html +func (r *AWSGreengrassSubscriptionDefinitionVersion_Subscription) SetMetadata(metadata map[string]interface{}) { + r._metadata = metadata +} + +// SetDeletionPolicy applies an AWS CloudFormation DeletionPolicy to this resource +// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html +func (r *AWSGreengrassSubscriptionDefinitionVersion_Subscription) SetDeletionPolicy(policy policies.DeletionPolicy) { + r._deletionPolicy = policy +} diff --git a/cloudformation/resources/aws-sagemaker-notebookinstance.go b/cloudformation/resources/aws-sagemaker-notebookinstance.go index be1c91d55e..77d985f04b 100644 --- a/cloudformation/resources/aws-sagemaker-notebookinstance.go +++ b/cloudformation/resources/aws-sagemaker-notebookinstance.go @@ -41,6 +41,11 @@ type AWSSageMakerNotebookInstance struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rolearn RoleArn string `json:"RoleArn,omitempty"` + // RootAccess AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rootaccess + RootAccess string `json:"RootAccess,omitempty"` + // SecurityGroupIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-securitygroupids diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 0c3f132e9c..a7923cd349 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -3099,6 +3099,12 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" } @@ -3223,6 +3229,12 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" } @@ -3340,6 +3352,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserSettings": { "items": { "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" @@ -8240,6 +8258,18 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, "AWS::CodeBuild::Project.LogsConfig": { "additionalProperties": false, "properties": { @@ -8307,6 +8337,9 @@ var CloudformationSchema = `{ "AWS::CodeBuild::Project.S3LogsConfig": { "additionalProperties": false, "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, "Location": { "type": "string" }, @@ -8331,6 +8364,9 @@ var CloudformationSchema = `{ "GitCloneDepth": { "type": "number" }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, "InsecureSsl": { "type": "boolean" }, @@ -24153,7 +24189,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::GuardDuty::Detector": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24185,21 +24221,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, - "FindingPublishingFrequency": { + "Name": { "type": "string" } }, "required": [ - "Enable" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" } @@ -24210,7 +24246,41 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24242,37 +24312,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { + "ConnectorDefinitionId": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Rank" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" } @@ -24283,46 +24341,26 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" + "ConnectorArn": { + "type": "string" }, - "Lte": { - "type": "number" + "Id": { + "type": "string" }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { + "Parameters": { "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, + "required": [ + "ConnectorArn", + "Id" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24354,33 +24392,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" }, "Name": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Greengrass::CoreDefinition" ], "type": "string" } @@ -24391,7 +24417,45 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24423,25 +24487,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { + "CoreDefinitionId": { "type": "string" }, - "MasterId": { - "type": "string" + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" } }, "required": [ - "DetectorId", - "MasterId" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Master" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" } @@ -24452,7 +24516,30 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24484,35 +24571,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, - "Status": { + "Name": { "type": "string" } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" } @@ -24523,7 +24596,1615 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "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": { + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "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": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37675,6 +39356,9 @@ var CloudformationSchema = `{ "RoleArn": { "type": "string" }, + "RootAccess": { + "type": "string" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -41777,6 +43461,51 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Glue::Trigger" }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 49a65759de..e853d5270b 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -3096,6 +3096,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" } @@ -3220,6 +3226,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" } @@ -3337,6 +3349,12 @@ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserSettings": { "items": { "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" @@ -8237,6 +8255,18 @@ "properties": {}, "type": "object" }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, "AWS::CodeBuild::Project.LogsConfig": { "additionalProperties": false, "properties": { @@ -8304,6 +8334,9 @@ "AWS::CodeBuild::Project.S3LogsConfig": { "additionalProperties": false, "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, "Location": { "type": "string" }, @@ -8328,6 +8361,9 @@ "GitCloneDepth": { "type": "number" }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, "InsecureSsl": { "type": "boolean" }, @@ -24150,7 +24186,7 @@ }, "type": "object" }, - "AWS::GuardDuty::Detector": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24182,21 +24218,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, - "FindingPublishingFrequency": { + "Name": { "type": "string" } }, "required": [ - "Enable" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" } @@ -24207,7 +24243,41 @@ ], "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24239,37 +24309,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { + "ConnectorDefinitionId": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Rank" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" } @@ -24280,46 +24338,26 @@ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" + "ConnectorArn": { + "type": "string" }, - "Lte": { - "type": "number" + "Id": { + "type": "string" }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { + "Parameters": { "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, + "required": [ + "ConnectorArn", + "Id" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24351,33 +24389,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" }, "Name": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Greengrass::CoreDefinition" ], "type": "string" } @@ -24388,7 +24414,45 @@ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24420,25 +24484,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { + "CoreDefinitionId": { "type": "string" }, - "MasterId": { - "type": "string" + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" } }, "required": [ - "DetectorId", - "MasterId" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Master" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" } @@ -24449,7 +24513,30 @@ ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24481,35 +24568,21 @@ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, - "Status": { + "Name": { "type": "string" } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" } @@ -24520,7 +24593,1615 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "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": { + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "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": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37672,6 +39353,9 @@ "RoleArn": { "type": "string" }, + "RootAccess": { + "type": "string" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -41774,6 +43458,51 @@ { "$ref": "#/definitions/AWS::Glue::Trigger" }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, diff --git a/schema/sam.go b/schema/sam.go index 8965792789..bdd328ffe0 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -3099,6 +3099,12 @@ var SamSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" } @@ -3223,6 +3229,12 @@ var SamSchema = `{ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" } @@ -3340,6 +3352,12 @@ var SamSchema = `{ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserSettings": { "items": { "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" @@ -8240,6 +8258,18 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, "AWS::CodeBuild::Project.LogsConfig": { "additionalProperties": false, "properties": { @@ -8307,6 +8337,9 @@ var SamSchema = `{ "AWS::CodeBuild::Project.S3LogsConfig": { "additionalProperties": false, "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, "Location": { "type": "string" }, @@ -8331,6 +8364,9 @@ var SamSchema = `{ "GitCloneDepth": { "type": "number" }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, "InsecureSsl": { "type": "boolean" }, @@ -24153,7 +24189,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::GuardDuty::Detector": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24185,21 +24221,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, - "FindingPublishingFrequency": { + "Name": { "type": "string" } }, "required": [ - "Enable" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" } @@ -24210,7 +24246,41 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24242,37 +24312,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { + "ConnectorDefinitionId": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Rank" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" } @@ -24283,46 +24341,26 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" + "ConnectorArn": { + "type": "string" }, - "Lte": { - "type": "number" + "Id": { + "type": "string" }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { + "Parameters": { "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, + "required": [ + "ConnectorArn", + "Id" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24354,33 +24392,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" }, "Name": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Greengrass::CoreDefinition" ], "type": "string" } @@ -24391,7 +24417,45 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24423,25 +24487,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { + "CoreDefinitionId": { "type": "string" }, - "MasterId": { - "type": "string" + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" } }, "required": [ - "DetectorId", - "MasterId" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Master" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" } @@ -24452,7 +24516,30 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24484,35 +24571,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, - "Status": { + "Name": { "type": "string" } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" } @@ -24523,7 +24596,1615 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "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": { + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "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": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37675,6 +39356,9 @@ var SamSchema = `{ "RoleArn": { "type": "string" }, + "RootAccess": { + "type": "string" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -42709,6 +44393,51 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Glue::Trigger" }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index fd974366bb..9ed9fcedbd 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -3096,6 +3096,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" } @@ -3220,6 +3226,12 @@ "Name": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "VpcConfig": { "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" } @@ -3337,6 +3349,12 @@ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserSettings": { "items": { "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" @@ -8237,6 +8255,18 @@ "properties": {}, "type": "object" }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, "AWS::CodeBuild::Project.LogsConfig": { "additionalProperties": false, "properties": { @@ -8304,6 +8334,9 @@ "AWS::CodeBuild::Project.S3LogsConfig": { "additionalProperties": false, "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, "Location": { "type": "string" }, @@ -8328,6 +8361,9 @@ "GitCloneDepth": { "type": "number" }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, "InsecureSsl": { "type": "boolean" }, @@ -24150,7 +24186,7 @@ }, "type": "object" }, - "AWS::GuardDuty::Detector": { + "AWS::Greengrass::ConnectorDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24182,21 +24218,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Enable": { - "type": "boolean" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" }, - "FindingPublishingFrequency": { + "Name": { "type": "string" } }, "required": [ - "Enable" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Greengrass::ConnectorDefinition" ], "type": "string" } @@ -24207,7 +24243,41 @@ ], "type": "object" }, - "AWS::GuardDuty::Filter": { + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24239,37 +24309,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { + "ConnectorDefinitionId": { "type": "string" }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" } }, "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Rank" + "ConnectorDefinitionId", + "Connectors" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "type": "string" } @@ -24280,46 +24338,26 @@ ], "type": "object" }, - "AWS::GuardDuty::Filter.Condition": { + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { "additionalProperties": false, "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" + "ConnectorArn": { + "type": "string" }, - "Lte": { - "type": "number" + "Id": { + "type": "string" }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { + "Parameters": { "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" } }, + "required": [ + "ConnectorArn", + "Id" + ], "type": "object" }, - "AWS::GuardDuty::IPSet": { + "AWS::Greengrass::CoreDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24351,33 +24389,21 @@ "Properties": { "additionalProperties": false, "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" }, "Name": { "type": "string" } }, "required": [ - "Activate", - "DetectorId", - "Format", - "Location" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::Greengrass::CoreDefinition" ], "type": "string" } @@ -24388,7 +24414,45 @@ ], "type": "object" }, - "AWS::GuardDuty::Master": { + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24420,25 +24484,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { + "CoreDefinitionId": { "type": "string" }, - "MasterId": { - "type": "string" + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" } }, "required": [ - "DetectorId", - "MasterId" + "CoreDefinitionId", + "Cores" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Master" + "AWS::Greengrass::CoreDefinitionVersion" ], "type": "string" } @@ -24449,7 +24513,30 @@ ], "type": "object" }, - "AWS::GuardDuty::Member": { + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -24481,35 +24568,21 @@ "Properties": { "additionalProperties": false, "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" }, - "Status": { + "Name": { "type": "string" } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::Greengrass::DeviceDefinition" ], "type": "string" } @@ -24520,7 +24593,1615 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "MemorySize", + "Timeout" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "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": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "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": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "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": { + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "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": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -37672,6 +39353,9 @@ "RoleArn": { "type": "string" }, + "RootAccess": { + "type": "string" + }, "SecurityGroupIds": { "items": { "type": "string" @@ -42706,6 +44390,51 @@ { "$ref": "#/definitions/AWS::Glue::Trigger" }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" },