// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. package detective 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_detective_member_invitation", memberInvitationDataSourceType) } // memberInvitationDataSourceType returns the Terraform awscc_detective_member_invitation data source type. // This Terraform data source type corresponds to the CloudFormation AWS::Detective::MemberInvitation resource type. func memberInvitationDataSourceType(ctx context.Context) (tfsdk.DataSourceType, error) { attributes := map[string]tfsdk.Attribute{ "disable_email_notification": { // Property: DisableEmailNotification // CloudFormation resource type schema: // { // "default": false, // "description": "When set to true, invitation emails are not sent to the member accounts. Member accounts must still accept the invitation before they are added to the behavior graph. Updating this field has no effect.", // "type": "boolean" // } Description: "When set to true, invitation emails are not sent to the member accounts. Member accounts must still accept the invitation before they are added to the behavior graph. Updating this field has no effect.", Type: types.BoolType, Computed: true, }, "graph_arn": { // Property: GraphArn // CloudFormation resource type schema: // { // "description": "The ARN of the graph to which the member account will be invited", // "pattern": "arn:aws(-[\\w]+)*:detective:(([a-z]+-)+[0-9]+):[0-9]{12}:graph:[0-9a-f]{32}", // "type": "string" // } Description: "The ARN of the graph to which the member account will be invited", Type: types.StringType, Computed: true, }, "member_email_address": { // Property: MemberEmailAddress // CloudFormation resource type schema: // { // "description": "The root email address for the account to be invited, for validation. Updating this field has no effect.", // "pattern": ".*@.*", // "type": "string" // } Description: "The root email address for the account to be invited, for validation. Updating this field has no effect.", Type: types.StringType, Computed: true, }, "member_id": { // Property: MemberId // CloudFormation resource type schema: // { // "description": "The AWS account ID to be invited to join the graph as a member", // "pattern": "[0-9]{12}", // "type": "string" // } Description: "The AWS account ID to be invited to join the graph as a member", Type: types.StringType, Computed: true, }, "message": { // Property: Message // CloudFormation resource type schema: // { // "description": "A message to be included in the email invitation sent to the invited account. Updating this field has no effect.", // "maxLength": 1000, // "minLength": 1, // "type": "string" // } Description: "A message to be included in the email invitation sent to the invited account. Updating this field has no effect.", Type: types.StringType, 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::Detective::MemberInvitation", Version: 1, Attributes: attributes, } var opts DataSourceTypeOptions opts = opts.WithCloudFormationTypeName("AWS::Detective::MemberInvitation").WithTerraformTypeName("awscc_detective_member_invitation") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ "disable_email_notification": "DisableEmailNotification", "graph_arn": "GraphArn", "member_email_address": "MemberEmailAddress", "member_id": "MemberId", "message": "Message", }) singularDataSourceType, err := NewSingularDataSourceType(ctx, opts...) if err != nil { return nil, err } return singularDataSourceType, nil }