Class: AWSCDK::SSM::CfnResourceDataSyncProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ssm/cfn_resource_data_sync_props.rb

Overview

Properties for defining a CfnResourceDataSync.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sync_name:, bucket_name: nil, bucket_prefix: nil, bucket_region: nil, kms_key_arn: nil, s3_destination: nil, sync_format: nil, sync_source: nil, sync_type: nil) ⇒ CfnResourceDataSyncProps

Returns a new instance of CfnResourceDataSyncProps.

Parameters:

  • sync_name (String)

    A name for the resource data sync.

  • bucket_name (String, AWSCDK::Interfaces::AWSS3::IBucketRef, nil) (defaults to: nil)

    The name of the S3 bucket where the aggregated data is stored.

  • bucket_prefix (String, nil) (defaults to: nil)

    An Amazon S3 prefix for the bucket.

  • bucket_region (String, nil) (defaults to: nil)

    The AWS Region with the S3 bucket targeted by the resource data sync.

  • kms_key_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 .

  • s3_destination (AWSCDK::IResolvable, AWSCDK::SSM::CfnResourceDataSync::S3DestinationProperty, nil) (defaults to: nil)

    Configuration information for the target S3 bucket.

  • sync_format (String, nil) (defaults to: nil)

    A supported sync format.

  • sync_source (AWSCDK::IResolvable, AWSCDK::SSM::CfnResourceDataSync::SyncSourceProperty, nil) (defaults to: nil)

    Information about the source where the data was synchronized.

  • sync_type (String, nil) (defaults to: nil)

    The type of resource data sync.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'ssm/cfn_resource_data_sync_props.rb', line 18

def initialize(sync_name:, bucket_name: nil, bucket_prefix: nil, bucket_region: nil, kms_key_arn: nil, s3_destination: nil, sync_format: nil, sync_source: nil, sync_type: nil)
  @sync_name = sync_name
  Jsii::Type.check_type(@sync_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "syncName")
  @bucket_name = bucket_name
  Jsii::Type.check_type(@bucket_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19zMy5JQnVja2V0UmVmIn1dfX0=")), "bucketName") unless @bucket_name.nil?
  @bucket_prefix = bucket_prefix
  Jsii::Type.check_type(@bucket_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketPrefix") unless @bucket_prefix.nil?
  @bucket_region = bucket_region
  Jsii::Type.check_type(@bucket_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketRegion") unless @bucket_region.nil?
  @kms_key_arn = kms_key_arn
  Jsii::Type.check_type(@kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyArn") unless @kms_key_arn.nil?
  @s3_destination = s3_destination.is_a?(Hash) ? ::AWSCDK::SSM::CfnResourceDataSync::S3DestinationProperty.new(**s3_destination.transform_keys(&:to_sym)) : s3_destination
  Jsii::Type.check_type(@s3_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zc20uQ2ZuUmVzb3VyY2VEYXRhU3luYy5TM0Rlc3RpbmF0aW9uUHJvcGVydHkifV19fQ==")), "s3Destination") unless @s3_destination.nil?
  @sync_format = sync_format
  Jsii::Type.check_type(@sync_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "syncFormat") unless @sync_format.nil?
  @sync_source = sync_source.is_a?(Hash) ? ::AWSCDK::SSM::CfnResourceDataSync::SyncSourceProperty.new(**sync_source.transform_keys(&:to_sym)) : sync_source
  Jsii::Type.check_type(@sync_source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zc20uQ2ZuUmVzb3VyY2VEYXRhU3luYy5TeW5jU291cmNlUHJvcGVydHkifV19fQ==")), "syncSource") unless @sync_source.nil?
  @sync_type = sync_type
  Jsii::Type.check_type(@sync_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "syncType") unless @sync_type.nil?
end

Instance Attribute Details

#bucket_nameString, ... (readonly)

The name of the S3 bucket where the aggregated data is stored.



48
49
50
# File 'ssm/cfn_resource_data_sync_props.rb', line 48

def bucket_name
  @bucket_name
end

#bucket_prefixString? (readonly)

An Amazon S3 prefix for the bucket.



53
54
55
# File 'ssm/cfn_resource_data_sync_props.rb', line 53

def bucket_prefix
  @bucket_prefix
end

#bucket_regionString? (readonly)

The AWS Region with the S3 bucket targeted by the resource data sync.



58
59
60
# File 'ssm/cfn_resource_data_sync_props.rb', line 58

def bucket_region
  @bucket_region
end

#kms_key_arnString? (readonly)

The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 .

You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same AWS Region as the destination Amazon S3 bucket.



65
66
67
# File 'ssm/cfn_resource_data_sync_props.rb', line 65

def kms_key_arn
  @kms_key_arn
end

#s3_destinationAWSCDK::IResolvable, ... (readonly)

Configuration information for the target S3 bucket.



70
71
72
# File 'ssm/cfn_resource_data_sync_props.rb', line 70

def s3_destination
  @s3_destination
end

#sync_formatString? (readonly)

A supported sync format.

The following format is currently supported: JsonSerDe



77
78
79
# File 'ssm/cfn_resource_data_sync_props.rb', line 77

def sync_format
  @sync_format
end

#sync_nameString (readonly)

A name for the resource data sync.



43
44
45
# File 'ssm/cfn_resource_data_sync_props.rb', line 43

def sync_name
  @sync_name
end

#sync_sourceAWSCDK::IResolvable, ... (readonly)

Information about the source where the data was synchronized.



82
83
84
# File 'ssm/cfn_resource_data_sync_props.rb', line 82

def sync_source
  @sync_source
end

#sync_typeString? (readonly)

The type of resource data sync.

If SyncType is SyncToDestination , then the resource data sync synchronizes data to an S3 bucket. If the SyncType is SyncFromSource then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .



89
90
91
# File 'ssm/cfn_resource_data_sync_props.rb', line 89

def sync_type
  @sync_type
end

Class Method Details

.jsii_propertiesObject



91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'ssm/cfn_resource_data_sync_props.rb', line 91

def self.jsii_properties
  {
    :sync_name => "syncName",
    :bucket_name => "bucketName",
    :bucket_prefix => "bucketPrefix",
    :bucket_region => "bucketRegion",
    :kms_key_arn => "kmsKeyArn",
    :s3_destination => "s3Destination",
    :sync_format => "syncFormat",
    :sync_source => "syncSource",
    :sync_type => "syncType",
  }
end

Instance Method Details

#to_jsiiObject



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'ssm/cfn_resource_data_sync_props.rb', line 105

def to_jsii
  result = {}
  result.merge!({
    "syncName" => @sync_name,
    "bucketName" => @bucket_name,
    "bucketPrefix" => @bucket_prefix,
    "bucketRegion" => @bucket_region,
    "kmsKeyArn" => @kms_key_arn,
    "s3Destination" => @s3_destination,
    "syncFormat" => @sync_format,
    "syncSource" => @sync_source,
    "syncType" => @sync_type,
  })
  result.compact
end