generated from hashicorp/terraform-provider-scaffolding
/
named_query_singular_data_source_gen.go
133 lines (120 loc) · 3.84 KB
/
named_query_singular_data_source_gen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
package athena
import (
"context"
"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
"github.com/hashicorp/terraform-provider-awscc/internal/generic"
"github.com/hashicorp/terraform-provider-awscc/internal/registry"
)
func init() {
registry.AddDataSourceFactory("awscc_athena_named_query", namedQueryDataSource)
}
// namedQueryDataSource returns the Terraform awscc_athena_named_query data source.
// This Terraform data source corresponds to the CloudFormation AWS::Athena::NamedQuery resource.
func namedQueryDataSource(ctx context.Context) (datasource.DataSource, error) {
attributes := map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Database
// CloudFormation resource type schema:
//
// {
// "description": "The database to which the query belongs.",
// "maxLength": 255,
// "minLength": 1,
// "type": "string"
// }
"database": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The database to which the query belongs.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Description
// CloudFormation resource type schema:
//
// {
// "description": "The query description.",
// "maxLength": 1024,
// "minLength": 1,
// "type": "string"
// }
"description": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The query description.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Name
// CloudFormation resource type schema:
//
// {
// "description": "The query name.",
// "maxLength": 128,
// "minLength": 1,
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The query name.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: NamedQueryId
// CloudFormation resource type schema:
//
// {
// "description": "The unique ID of the query.",
// "type": "string"
// }
"named_query_id": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The unique ID of the query.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: QueryString
// CloudFormation resource type schema:
//
// {
// "description": "The contents of the query with all query statements.",
// "maxLength": 262144,
// "minLength": 1,
// "type": "string"
// }
"query_string": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The contents of the query with all query statements.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: WorkGroup
// CloudFormation resource type schema:
//
// {
// "description": "The name of the workgroup that contains the named query.",
// "maxLength": 128,
// "minLength": 1,
// "type": "string"
// }
"work_group": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The name of the workgroup that contains the named query.",
Computed: true,
}, /*END ATTRIBUTE*/
} /*END SCHEMA*/
attributes["id"] = schema.StringAttribute{
Description: "Uniquely identifies the resource.",
Required: true,
}
schema := schema.Schema{
Description: "Data Source schema for AWS::Athena::NamedQuery",
Attributes: attributes,
}
var opts generic.DataSourceOptions
opts = opts.WithCloudFormationTypeName("AWS::Athena::NamedQuery").WithTerraformTypeName("awscc_athena_named_query")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
"database": "Database",
"description": "Description",
"name": "Name",
"named_query_id": "NamedQueryId",
"query_string": "QueryString",
"work_group": "WorkGroup",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
if err != nil {
return nil, err
}
return v, nil
}