Class: AWSCDK::Backup::CfnReportPlanProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
backup/cfn_report_plan_props.rb

Overview

Properties for defining a CfnReportPlan.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(report_delivery_channel:, report_setting:, report_plan_description: nil, report_plan_name: nil, report_plan_tags: nil) ⇒ CfnReportPlanProps

Returns a new instance of CfnReportPlanProps.

Parameters:

  • report_delivery_channel (Object)

    Contains information about where and how to deliver your reports, specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.

  • report_setting (Object)

    Identifies the report template for the report. Reports are built using a report template. The report templates are:.

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

    An optional description of the report plan with a maximum 1,024 characters.

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

    The unique name of the report plan.

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

    The tags to assign to your report plan.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'backup/cfn_report_plan_props.rb', line 14

def initialize(report_delivery_channel:, report_setting:, report_plan_description: nil, report_plan_name: nil, report_plan_tags: nil)
  @report_delivery_channel = report_delivery_channel
  Jsii::Type.check_type(@report_delivery_channel, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "reportDeliveryChannel")
  @report_setting = report_setting
  Jsii::Type.check_type(@report_setting, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "reportSetting")
  @report_plan_description = report_plan_description
  Jsii::Type.check_type(@report_plan_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "reportPlanDescription") unless @report_plan_description.nil?
  @report_plan_name = report_plan_name
  Jsii::Type.check_type(@report_plan_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "reportPlanName") unless @report_plan_name.nil?
  @report_plan_tags = report_plan_tags.is_a?(Array) ? report_plan_tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : report_plan_tags
  Jsii::Type.check_type(@report_plan_tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "reportPlanTags") unless @report_plan_tags.nil?
end

Instance Attribute Details

#report_delivery_channelObject (readonly)

Contains information about where and how to deliver your reports, specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.



31
32
33
# File 'backup/cfn_report_plan_props.rb', line 31

def report_delivery_channel
  @report_delivery_channel
end

#report_plan_descriptionString? (readonly)

An optional description of the report plan with a maximum 1,024 characters.



45
46
47
# File 'backup/cfn_report_plan_props.rb', line 45

def report_plan_description
  @report_plan_description
end

#report_plan_nameString? (readonly)

The unique name of the report plan.

This name is between 1 and 256 characters starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).



52
53
54
# File 'backup/cfn_report_plan_props.rb', line 52

def report_plan_name
  @report_plan_name
end

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

The tags to assign to your report plan.



57
58
59
# File 'backup/cfn_report_plan_props.rb', line 57

def report_plan_tags
  @report_plan_tags
end

#report_settingObject (readonly)

Identifies the report template for the report. Reports are built using a report template. The report templates are:.

RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT

If the report template is RESOURCE_COMPLIANCE_REPORT or CONTROL_COMPLIANCE_REPORT , this API resource also describes the report coverage by AWS Regions and frameworks.



40
41
42
# File 'backup/cfn_report_plan_props.rb', line 40

def report_setting
  @report_setting
end

Class Method Details

.jsii_propertiesObject



59
60
61
62
63
64
65
66
67
# File 'backup/cfn_report_plan_props.rb', line 59

def self.jsii_properties
  {
    :report_delivery_channel => "reportDeliveryChannel",
    :report_setting => "reportSetting",
    :report_plan_description => "reportPlanDescription",
    :report_plan_name => "reportPlanName",
    :report_plan_tags => "reportPlanTags",
  }
end

Instance Method Details

#to_jsiiObject



69
70
71
72
73
74
75
76
77
78
79
# File 'backup/cfn_report_plan_props.rb', line 69

def to_jsii
  result = {}
  result.merge!({
    "reportDeliveryChannel" => @report_delivery_channel,
    "reportSetting" => @report_setting,
    "reportPlanDescription" => @report_plan_description,
    "reportPlanName" => @report_plan_name,
    "reportPlanTags" => @report_plan_tags,
  })
  result.compact
end