// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. package ssmcontacts import ( "context" "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" . "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" ) func init() { registry.AddDataSourceTypeFactory("awscc_ssmcontacts_contact_channel", contactChannelDataSourceType) } // contactChannelDataSourceType returns the Terraform awscc_ssmcontacts_contact_channel data source type. // This Terraform data source type corresponds to the CloudFormation AWS::SSMContacts::ContactChannel resource type. func contactChannelDataSourceType(ctx context.Context) (tfsdk.DataSourceType, error) { attributes := map[string]tfsdk.Attribute{ "arn": { // Property: Arn // CloudFormation resource type schema: // { // "description": "The Amazon Resource Name (ARN) of the engagement to a contact channel.", // "type": "string" // } Description: "The Amazon Resource Name (ARN) of the engagement to a contact channel.", Type: types.StringType, Computed: true, }, "channel_address": { // Property: ChannelAddress // CloudFormation resource type schema: // { // "description": "The details that SSM Incident Manager uses when trying to engage the contact channel.", // "type": "string" // } Description: "The details that SSM Incident Manager uses when trying to engage the contact channel.", Type: types.StringType, Computed: true, }, "channel_name": { // Property: ChannelName // CloudFormation resource type schema: // { // "description": "The device name. String of 6 to 50 alphabetical, numeric, dash, and underscore characters.", // "maxLength": 255, // "minLength": 1, // "pattern": "", // "type": "string" // } Description: "The device name. String of 6 to 50 alphabetical, numeric, dash, and underscore characters.", Type: types.StringType, Computed: true, }, "channel_type": { // Property: ChannelType // CloudFormation resource type schema: // { // "description": "Device type, which specify notification channel. Currently supported values: ?SMS?, ?VOICE?, ?EMAIL?, ?CHATBOT.", // "enum": [ // "SMS", // "VOICE", // "EMAIL" // ], // "type": "string" // } Description: "Device type, which specify notification channel. Currently supported values: ?SMS?, ?VOICE?, ?EMAIL?, ?CHATBOT.", Type: types.StringType, Computed: true, }, "contact_id": { // Property: ContactId // CloudFormation resource type schema: // { // "description": "ARN of the contact resource", // "maxLength": 2048, // "minLength": 1, // "pattern": "arn:[-\\w+=\\/,.@]+:[-\\w+=\\/,.@]+:[-\\w+=\\/,.@]*:[0-9]+:([\\w+=\\/,.@:-]+)*", // "type": "string" // } Description: "ARN of the contact resource", Type: types.StringType, Computed: true, }, "defer_activation": { // Property: DeferActivation // CloudFormation resource type schema: // { // "description": "If you want to activate the channel at a later time, you can choose to defer activation. SSM Incident Manager can't engage your contact channel until it has been activated.", // "type": "boolean" // } Description: "If you want to activate the channel at a later time, you can choose to defer activation. SSM Incident Manager can't engage your contact channel until it has been activated.", Type: types.BoolType, Computed: true, }, } attributes["id"] = tfsdk.Attribute{ Description: "Uniquely identifies the resource.", Type: types.StringType, Required: true, } schema := tfsdk.Schema{ Description: "Data Source schema for AWS::SSMContacts::ContactChannel", Version: 1, Attributes: attributes, } var opts DataSourceTypeOptions opts = opts.WithCloudFormationTypeName("AWS::SSMContacts::ContactChannel").WithTerraformTypeName("awscc_ssmcontacts_contact_channel") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ "arn": "Arn", "channel_address": "ChannelAddress", "channel_name": "ChannelName", "channel_type": "ChannelType", "contact_id": "ContactId", "defer_activation": "DeferActivation", }) singularDataSourceType, err := NewSingularDataSourceType(ctx, opts...) if err != nil { return nil, err } return singularDataSourceType, nil }