Class: AWSCDK::MediaConnect::CfnFlowEntitlementProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_connect/cfn_flow_entitlement_props.rb

Overview

Properties for defining a CfnFlowEntitlement.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description:, flow_arn:, name:, subscribers:, data_transfer_subscriber_fee_percent: nil, encryption: nil, entitlement_status: nil, tags: nil) ⇒ CfnFlowEntitlementProps

Returns a new instance of CfnFlowEntitlementProps.

Parameters:

  • description (String)

    A description of the entitlement.

  • flow_arn (String)

    The Amazon Resource Name (ARN) of the flow.

  • name (String)

    The name of the entitlement.

  • subscribers (Array<String>)

    The AWS account IDs that you want to share your content with.

  • data_transfer_subscriber_fee_percent (Numeric, nil) (defaults to: nil)

    The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.

  • encryption (AWSCDK::IResolvable, AWSCDK::MediaConnect::CfnFlowEntitlement::EncryptionProperty, nil) (defaults to: nil)

    Encryption information.

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

    An indication of whether the new entitlement should be enabled or disabled as soon as it is created.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Key-value pairs that can be used to tag and organize this flow entitlement.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'media_connect/cfn_flow_entitlement_props.rb', line 17

def initialize(description:, flow_arn:, name:, subscribers:, data_transfer_subscriber_fee_percent: nil, encryption: nil, entitlement_status: nil, tags: nil)
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description")
  @flow_arn = flow_arn
  Jsii::Type.check_type(@flow_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "flowArn")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @subscribers = subscribers
  Jsii::Type.check_type(@subscribers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subscribers")
  @data_transfer_subscriber_fee_percent = data_transfer_subscriber_fee_percent
  Jsii::Type.check_type(@data_transfer_subscriber_fee_percent, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "dataTransferSubscriberFeePercent") unless @data_transfer_subscriber_fee_percent.nil?
  @encryption = encryption.is_a?(Hash) ? ::AWSCDK::MediaConnect::CfnFlowEntitlement::EncryptionProperty.new(**encryption.transform_keys(&:to_sym)) : encryption
  Jsii::Type.check_type(@encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWNvbm5lY3QuQ2ZuRmxvd0VudGl0bGVtZW50LkVuY3J5cHRpb25Qcm9wZXJ0eSJ9XX19")), "encryption") unless @encryption.nil?
  @entitlement_status = entitlement_status
  Jsii::Type.check_type(@entitlement_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "entitlementStatus") unless @entitlement_status.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#data_transfer_subscriber_fee_percentNumeric? (readonly)

Note:

Default: - 0

The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.



67
68
69
# File 'media_connect/cfn_flow_entitlement_props.rb', line 67

def data_transfer_subscriber_fee_percent
  @data_transfer_subscriber_fee_percent
end

#descriptionString (readonly)

A description of the entitlement.

This description appears only on the MediaConnect console and is not visible outside of the current AWS account.



42
43
44
# File 'media_connect/cfn_flow_entitlement_props.rb', line 42

def description
  @description
end

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

Encryption information.



72
73
74
# File 'media_connect/cfn_flow_entitlement_props.rb', line 72

def encryption
  @encryption
end

#entitlement_statusString? (readonly)

An indication of whether the new entitlement should be enabled or disabled as soon as it is created.

If you don’t specify the entitlementStatus field in your request, MediaConnect sets it to ENABLED.



79
80
81
# File 'media_connect/cfn_flow_entitlement_props.rb', line 79

def entitlement_status
  @entitlement_status
end

#flow_arnString (readonly)

The Amazon Resource Name (ARN) of the flow.



47
48
49
# File 'media_connect/cfn_flow_entitlement_props.rb', line 47

def flow_arn
  @flow_arn
end

#nameString (readonly)

The name of the entitlement.

This value must be unique within the current flow.



54
55
56
# File 'media_connect/cfn_flow_entitlement_props.rb', line 54

def name
  @name
end

#subscribersArray<String> (readonly)

The AWS account IDs that you want to share your content with.

The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source.



61
62
63
# File 'media_connect/cfn_flow_entitlement_props.rb', line 61

def subscribers
  @subscribers
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Key-value pairs that can be used to tag and organize this flow entitlement.



84
85
86
# File 'media_connect/cfn_flow_entitlement_props.rb', line 84

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



86
87
88
89
90
91
92
93
94
95
96
97
# File 'media_connect/cfn_flow_entitlement_props.rb', line 86

def self.jsii_properties
  {
    :description => "description",
    :flow_arn => "flowArn",
    :name => "name",
    :subscribers => "subscribers",
    :data_transfer_subscriber_fee_percent => "dataTransferSubscriberFeePercent",
    :encryption => "encryption",
    :entitlement_status => "entitlementStatus",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'media_connect/cfn_flow_entitlement_props.rb', line 99

def to_jsii
  result = {}
  result.merge!({
    "description" => @description,
    "flowArn" => @flow_arn,
    "name" => @name,
    "subscribers" => @subscribers,
    "dataTransferSubscriberFeePercent" => @data_transfer_subscriber_fee_percent,
    "encryption" => @encryption,
    "entitlementStatus" => @entitlement_status,
    "tags" => @tags,
  })
  result.compact
end