github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appsync/dataSource.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package appsync 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an AppSync Data Source. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync" 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb" 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // exampleTable, err := dynamodb.NewTable(ctx, "example", &dynamodb.TableArgs{ 35 // Name: pulumi.String("example"), 36 // ReadCapacity: pulumi.Int(1), 37 // WriteCapacity: pulumi.Int(1), 38 // HashKey: pulumi.String("UserId"), 39 // Attributes: dynamodb.TableAttributeArray{ 40 // &dynamodb.TableAttributeArgs{ 41 // Name: pulumi.String("UserId"), 42 // Type: pulumi.String("S"), 43 // }, 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ 50 // Statements: []iam.GetPolicyDocumentStatement{ 51 // { 52 // Effect: pulumi.StringRef("Allow"), 53 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 54 // { 55 // Type: "Service", 56 // Identifiers: []string{ 57 // "appsync.amazonaws.com", 58 // }, 59 // }, 60 // }, 61 // Actions: []string{ 62 // "sts:AssumeRole", 63 // }, 64 // }, 65 // }, 66 // }, nil) 67 // if err != nil { 68 // return err 69 // } 70 // exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ 71 // Name: pulumi.String("example"), 72 // AssumeRolePolicy: pulumi.String(assumeRole.Json), 73 // }) 74 // if err != nil { 75 // return err 76 // } 77 // example := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ 78 // Statements: iam.GetPolicyDocumentStatementArray{ 79 // &iam.GetPolicyDocumentStatementArgs{ 80 // Effect: pulumi.String("Allow"), 81 // Actions: pulumi.StringArray{ 82 // pulumi.String("dynamodb:*"), 83 // }, 84 // Resources: pulumi.StringArray{ 85 // exampleTable.Arn, 86 // }, 87 // }, 88 // }, 89 // }, nil) 90 // _, err = iam.NewRolePolicy(ctx, "example", &iam.RolePolicyArgs{ 91 // Name: pulumi.String("example"), 92 // Role: exampleRole.ID(), 93 // Policy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) { 94 // return &example.Json, nil 95 // }).(pulumi.StringPtrOutput), 96 // }) 97 // if err != nil { 98 // return err 99 // } 100 // exampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, "example", &appsync.GraphQLApiArgs{ 101 // AuthenticationType: pulumi.String("API_KEY"), 102 // Name: pulumi.String("my_appsync_example"), 103 // }) 104 // if err != nil { 105 // return err 106 // } 107 // _, err = appsync.NewDataSource(ctx, "example", &appsync.DataSourceArgs{ 108 // ApiId: exampleGraphQLApi.ID(), 109 // Name: pulumi.String("my_appsync_example"), 110 // ServiceRoleArn: exampleRole.Arn, 111 // Type: pulumi.String("AMAZON_DYNAMODB"), 112 // DynamodbConfig: &appsync.DataSourceDynamodbConfigArgs{ 113 // TableName: exampleTable.Name, 114 // }, 115 // }) 116 // if err != nil { 117 // return err 118 // } 119 // return nil 120 // }) 121 // } 122 // 123 // ``` 124 // <!--End PulumiCodeChooser --> 125 // 126 // ## Import 127 // 128 // Using `pulumi import`, import `aws_appsync_datasource` using the `api_id`, a hyphen, and `name`. For example: 129 // 130 // ```sh 131 // $ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example 132 // ``` 133 type DataSource struct { 134 pulumi.CustomResourceState 135 136 // API ID for the GraphQL API for the data source. 137 ApiId pulumi.StringOutput `pulumi:"apiId"` 138 // ARN 139 Arn pulumi.StringOutput `pulumi:"arn"` 140 // Description of the data source. 141 Description pulumi.StringPtrOutput `pulumi:"description"` 142 // DynamoDB settings. See DynamoDB Config 143 DynamodbConfig DataSourceDynamodbConfigPtrOutput `pulumi:"dynamodbConfig"` 144 // Amazon Elasticsearch settings. See ElasticSearch Config 145 ElasticsearchConfig DataSourceElasticsearchConfigPtrOutput `pulumi:"elasticsearchConfig"` 146 // AWS EventBridge settings. See Event Bridge Config 147 EventBridgeConfig DataSourceEventBridgeConfigPtrOutput `pulumi:"eventBridgeConfig"` 148 // HTTP settings. See HTTP Config 149 HttpConfig DataSourceHttpConfigPtrOutput `pulumi:"httpConfig"` 150 // AWS Lambda settings. See Lambda Config 151 LambdaConfig DataSourceLambdaConfigPtrOutput `pulumi:"lambdaConfig"` 152 // User-supplied name for the data source. 153 Name pulumi.StringOutput `pulumi:"name"` 154 // Amazon OpenSearch Service settings. See OpenSearch Service Config 155 OpensearchserviceConfig DataSourceOpensearchserviceConfigPtrOutput `pulumi:"opensearchserviceConfig"` 156 // AWS RDS settings. See Relational Database Config 157 RelationalDatabaseConfig DataSourceRelationalDatabaseConfigPtrOutput `pulumi:"relationalDatabaseConfig"` 158 // IAM service role ARN for the data source. Required if `type` is specified as `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `AMAZON_EVENTBRIDGE`, or `AMAZON_OPENSEARCH_SERVICE`. 159 ServiceRoleArn pulumi.StringPtrOutput `pulumi:"serviceRoleArn"` 160 // Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`. 161 Type pulumi.StringOutput `pulumi:"type"` 162 } 163 164 // NewDataSource registers a new resource with the given unique name, arguments, and options. 165 func NewDataSource(ctx *pulumi.Context, 166 name string, args *DataSourceArgs, opts ...pulumi.ResourceOption) (*DataSource, error) { 167 if args == nil { 168 return nil, errors.New("missing one or more required arguments") 169 } 170 171 if args.ApiId == nil { 172 return nil, errors.New("invalid value for required argument 'ApiId'") 173 } 174 if args.Type == nil { 175 return nil, errors.New("invalid value for required argument 'Type'") 176 } 177 opts = internal.PkgResourceDefaultOpts(opts) 178 var resource DataSource 179 err := ctx.RegisterResource("aws:appsync/dataSource:DataSource", name, args, &resource, opts...) 180 if err != nil { 181 return nil, err 182 } 183 return &resource, nil 184 } 185 186 // GetDataSource gets an existing DataSource resource's state with the given name, ID, and optional 187 // state properties that are used to uniquely qualify the lookup (nil if not required). 188 func GetDataSource(ctx *pulumi.Context, 189 name string, id pulumi.IDInput, state *DataSourceState, opts ...pulumi.ResourceOption) (*DataSource, error) { 190 var resource DataSource 191 err := ctx.ReadResource("aws:appsync/dataSource:DataSource", name, id, state, &resource, opts...) 192 if err != nil { 193 return nil, err 194 } 195 return &resource, nil 196 } 197 198 // Input properties used for looking up and filtering DataSource resources. 199 type dataSourceState struct { 200 // API ID for the GraphQL API for the data source. 201 ApiId *string `pulumi:"apiId"` 202 // ARN 203 Arn *string `pulumi:"arn"` 204 // Description of the data source. 205 Description *string `pulumi:"description"` 206 // DynamoDB settings. See DynamoDB Config 207 DynamodbConfig *DataSourceDynamodbConfig `pulumi:"dynamodbConfig"` 208 // Amazon Elasticsearch settings. See ElasticSearch Config 209 ElasticsearchConfig *DataSourceElasticsearchConfig `pulumi:"elasticsearchConfig"` 210 // AWS EventBridge settings. See Event Bridge Config 211 EventBridgeConfig *DataSourceEventBridgeConfig `pulumi:"eventBridgeConfig"` 212 // HTTP settings. See HTTP Config 213 HttpConfig *DataSourceHttpConfig `pulumi:"httpConfig"` 214 // AWS Lambda settings. See Lambda Config 215 LambdaConfig *DataSourceLambdaConfig `pulumi:"lambdaConfig"` 216 // User-supplied name for the data source. 217 Name *string `pulumi:"name"` 218 // Amazon OpenSearch Service settings. See OpenSearch Service Config 219 OpensearchserviceConfig *DataSourceOpensearchserviceConfig `pulumi:"opensearchserviceConfig"` 220 // AWS RDS settings. See Relational Database Config 221 RelationalDatabaseConfig *DataSourceRelationalDatabaseConfig `pulumi:"relationalDatabaseConfig"` 222 // IAM service role ARN for the data source. Required if `type` is specified as `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `AMAZON_EVENTBRIDGE`, or `AMAZON_OPENSEARCH_SERVICE`. 223 ServiceRoleArn *string `pulumi:"serviceRoleArn"` 224 // Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`. 225 Type *string `pulumi:"type"` 226 } 227 228 type DataSourceState struct { 229 // API ID for the GraphQL API for the data source. 230 ApiId pulumi.StringPtrInput 231 // ARN 232 Arn pulumi.StringPtrInput 233 // Description of the data source. 234 Description pulumi.StringPtrInput 235 // DynamoDB settings. See DynamoDB Config 236 DynamodbConfig DataSourceDynamodbConfigPtrInput 237 // Amazon Elasticsearch settings. See ElasticSearch Config 238 ElasticsearchConfig DataSourceElasticsearchConfigPtrInput 239 // AWS EventBridge settings. See Event Bridge Config 240 EventBridgeConfig DataSourceEventBridgeConfigPtrInput 241 // HTTP settings. See HTTP Config 242 HttpConfig DataSourceHttpConfigPtrInput 243 // AWS Lambda settings. See Lambda Config 244 LambdaConfig DataSourceLambdaConfigPtrInput 245 // User-supplied name for the data source. 246 Name pulumi.StringPtrInput 247 // Amazon OpenSearch Service settings. See OpenSearch Service Config 248 OpensearchserviceConfig DataSourceOpensearchserviceConfigPtrInput 249 // AWS RDS settings. See Relational Database Config 250 RelationalDatabaseConfig DataSourceRelationalDatabaseConfigPtrInput 251 // IAM service role ARN for the data source. Required if `type` is specified as `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `AMAZON_EVENTBRIDGE`, or `AMAZON_OPENSEARCH_SERVICE`. 252 ServiceRoleArn pulumi.StringPtrInput 253 // Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`. 254 Type pulumi.StringPtrInput 255 } 256 257 func (DataSourceState) ElementType() reflect.Type { 258 return reflect.TypeOf((*dataSourceState)(nil)).Elem() 259 } 260 261 type dataSourceArgs struct { 262 // API ID for the GraphQL API for the data source. 263 ApiId string `pulumi:"apiId"` 264 // Description of the data source. 265 Description *string `pulumi:"description"` 266 // DynamoDB settings. See DynamoDB Config 267 DynamodbConfig *DataSourceDynamodbConfig `pulumi:"dynamodbConfig"` 268 // Amazon Elasticsearch settings. See ElasticSearch Config 269 ElasticsearchConfig *DataSourceElasticsearchConfig `pulumi:"elasticsearchConfig"` 270 // AWS EventBridge settings. See Event Bridge Config 271 EventBridgeConfig *DataSourceEventBridgeConfig `pulumi:"eventBridgeConfig"` 272 // HTTP settings. See HTTP Config 273 HttpConfig *DataSourceHttpConfig `pulumi:"httpConfig"` 274 // AWS Lambda settings. See Lambda Config 275 LambdaConfig *DataSourceLambdaConfig `pulumi:"lambdaConfig"` 276 // User-supplied name for the data source. 277 Name *string `pulumi:"name"` 278 // Amazon OpenSearch Service settings. See OpenSearch Service Config 279 OpensearchserviceConfig *DataSourceOpensearchserviceConfig `pulumi:"opensearchserviceConfig"` 280 // AWS RDS settings. See Relational Database Config 281 RelationalDatabaseConfig *DataSourceRelationalDatabaseConfig `pulumi:"relationalDatabaseConfig"` 282 // IAM service role ARN for the data source. Required if `type` is specified as `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `AMAZON_EVENTBRIDGE`, or `AMAZON_OPENSEARCH_SERVICE`. 283 ServiceRoleArn *string `pulumi:"serviceRoleArn"` 284 // Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`. 285 Type string `pulumi:"type"` 286 } 287 288 // The set of arguments for constructing a DataSource resource. 289 type DataSourceArgs struct { 290 // API ID for the GraphQL API for the data source. 291 ApiId pulumi.StringInput 292 // Description of the data source. 293 Description pulumi.StringPtrInput 294 // DynamoDB settings. See DynamoDB Config 295 DynamodbConfig DataSourceDynamodbConfigPtrInput 296 // Amazon Elasticsearch settings. See ElasticSearch Config 297 ElasticsearchConfig DataSourceElasticsearchConfigPtrInput 298 // AWS EventBridge settings. See Event Bridge Config 299 EventBridgeConfig DataSourceEventBridgeConfigPtrInput 300 // HTTP settings. See HTTP Config 301 HttpConfig DataSourceHttpConfigPtrInput 302 // AWS Lambda settings. See Lambda Config 303 LambdaConfig DataSourceLambdaConfigPtrInput 304 // User-supplied name for the data source. 305 Name pulumi.StringPtrInput 306 // Amazon OpenSearch Service settings. See OpenSearch Service Config 307 OpensearchserviceConfig DataSourceOpensearchserviceConfigPtrInput 308 // AWS RDS settings. See Relational Database Config 309 RelationalDatabaseConfig DataSourceRelationalDatabaseConfigPtrInput 310 // IAM service role ARN for the data source. Required if `type` is specified as `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `AMAZON_EVENTBRIDGE`, or `AMAZON_OPENSEARCH_SERVICE`. 311 ServiceRoleArn pulumi.StringPtrInput 312 // Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`. 313 Type pulumi.StringInput 314 } 315 316 func (DataSourceArgs) ElementType() reflect.Type { 317 return reflect.TypeOf((*dataSourceArgs)(nil)).Elem() 318 } 319 320 type DataSourceInput interface { 321 pulumi.Input 322 323 ToDataSourceOutput() DataSourceOutput 324 ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput 325 } 326 327 func (*DataSource) ElementType() reflect.Type { 328 return reflect.TypeOf((**DataSource)(nil)).Elem() 329 } 330 331 func (i *DataSource) ToDataSourceOutput() DataSourceOutput { 332 return i.ToDataSourceOutputWithContext(context.Background()) 333 } 334 335 func (i *DataSource) ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput { 336 return pulumi.ToOutputWithContext(ctx, i).(DataSourceOutput) 337 } 338 339 // DataSourceArrayInput is an input type that accepts DataSourceArray and DataSourceArrayOutput values. 340 // You can construct a concrete instance of `DataSourceArrayInput` via: 341 // 342 // DataSourceArray{ DataSourceArgs{...} } 343 type DataSourceArrayInput interface { 344 pulumi.Input 345 346 ToDataSourceArrayOutput() DataSourceArrayOutput 347 ToDataSourceArrayOutputWithContext(context.Context) DataSourceArrayOutput 348 } 349 350 type DataSourceArray []DataSourceInput 351 352 func (DataSourceArray) ElementType() reflect.Type { 353 return reflect.TypeOf((*[]*DataSource)(nil)).Elem() 354 } 355 356 func (i DataSourceArray) ToDataSourceArrayOutput() DataSourceArrayOutput { 357 return i.ToDataSourceArrayOutputWithContext(context.Background()) 358 } 359 360 func (i DataSourceArray) ToDataSourceArrayOutputWithContext(ctx context.Context) DataSourceArrayOutput { 361 return pulumi.ToOutputWithContext(ctx, i).(DataSourceArrayOutput) 362 } 363 364 // DataSourceMapInput is an input type that accepts DataSourceMap and DataSourceMapOutput values. 365 // You can construct a concrete instance of `DataSourceMapInput` via: 366 // 367 // DataSourceMap{ "key": DataSourceArgs{...} } 368 type DataSourceMapInput interface { 369 pulumi.Input 370 371 ToDataSourceMapOutput() DataSourceMapOutput 372 ToDataSourceMapOutputWithContext(context.Context) DataSourceMapOutput 373 } 374 375 type DataSourceMap map[string]DataSourceInput 376 377 func (DataSourceMap) ElementType() reflect.Type { 378 return reflect.TypeOf((*map[string]*DataSource)(nil)).Elem() 379 } 380 381 func (i DataSourceMap) ToDataSourceMapOutput() DataSourceMapOutput { 382 return i.ToDataSourceMapOutputWithContext(context.Background()) 383 } 384 385 func (i DataSourceMap) ToDataSourceMapOutputWithContext(ctx context.Context) DataSourceMapOutput { 386 return pulumi.ToOutputWithContext(ctx, i).(DataSourceMapOutput) 387 } 388 389 type DataSourceOutput struct{ *pulumi.OutputState } 390 391 func (DataSourceOutput) ElementType() reflect.Type { 392 return reflect.TypeOf((**DataSource)(nil)).Elem() 393 } 394 395 func (o DataSourceOutput) ToDataSourceOutput() DataSourceOutput { 396 return o 397 } 398 399 func (o DataSourceOutput) ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput { 400 return o 401 } 402 403 // API ID for the GraphQL API for the data source. 404 func (o DataSourceOutput) ApiId() pulumi.StringOutput { 405 return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.ApiId }).(pulumi.StringOutput) 406 } 407 408 // ARN 409 func (o DataSourceOutput) Arn() pulumi.StringOutput { 410 return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 411 } 412 413 // Description of the data source. 414 func (o DataSourceOutput) Description() pulumi.StringPtrOutput { 415 return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 416 } 417 418 // DynamoDB settings. See DynamoDB Config 419 func (o DataSourceOutput) DynamodbConfig() DataSourceDynamodbConfigPtrOutput { 420 return o.ApplyT(func(v *DataSource) DataSourceDynamodbConfigPtrOutput { return v.DynamodbConfig }).(DataSourceDynamodbConfigPtrOutput) 421 } 422 423 // Amazon Elasticsearch settings. See ElasticSearch Config 424 func (o DataSourceOutput) ElasticsearchConfig() DataSourceElasticsearchConfigPtrOutput { 425 return o.ApplyT(func(v *DataSource) DataSourceElasticsearchConfigPtrOutput { return v.ElasticsearchConfig }).(DataSourceElasticsearchConfigPtrOutput) 426 } 427 428 // AWS EventBridge settings. See Event Bridge Config 429 func (o DataSourceOutput) EventBridgeConfig() DataSourceEventBridgeConfigPtrOutput { 430 return o.ApplyT(func(v *DataSource) DataSourceEventBridgeConfigPtrOutput { return v.EventBridgeConfig }).(DataSourceEventBridgeConfigPtrOutput) 431 } 432 433 // HTTP settings. See HTTP Config 434 func (o DataSourceOutput) HttpConfig() DataSourceHttpConfigPtrOutput { 435 return o.ApplyT(func(v *DataSource) DataSourceHttpConfigPtrOutput { return v.HttpConfig }).(DataSourceHttpConfigPtrOutput) 436 } 437 438 // AWS Lambda settings. See Lambda Config 439 func (o DataSourceOutput) LambdaConfig() DataSourceLambdaConfigPtrOutput { 440 return o.ApplyT(func(v *DataSource) DataSourceLambdaConfigPtrOutput { return v.LambdaConfig }).(DataSourceLambdaConfigPtrOutput) 441 } 442 443 // User-supplied name for the data source. 444 func (o DataSourceOutput) Name() pulumi.StringOutput { 445 return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 446 } 447 448 // Amazon OpenSearch Service settings. See OpenSearch Service Config 449 func (o DataSourceOutput) OpensearchserviceConfig() DataSourceOpensearchserviceConfigPtrOutput { 450 return o.ApplyT(func(v *DataSource) DataSourceOpensearchserviceConfigPtrOutput { return v.OpensearchserviceConfig }).(DataSourceOpensearchserviceConfigPtrOutput) 451 } 452 453 // AWS RDS settings. See Relational Database Config 454 func (o DataSourceOutput) RelationalDatabaseConfig() DataSourceRelationalDatabaseConfigPtrOutput { 455 return o.ApplyT(func(v *DataSource) DataSourceRelationalDatabaseConfigPtrOutput { return v.RelationalDatabaseConfig }).(DataSourceRelationalDatabaseConfigPtrOutput) 456 } 457 458 // IAM service role ARN for the data source. Required if `type` is specified as `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `AMAZON_EVENTBRIDGE`, or `AMAZON_OPENSEARCH_SERVICE`. 459 func (o DataSourceOutput) ServiceRoleArn() pulumi.StringPtrOutput { 460 return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.ServiceRoleArn }).(pulumi.StringPtrOutput) 461 } 462 463 // Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`. 464 func (o DataSourceOutput) Type() pulumi.StringOutput { 465 return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) 466 } 467 468 type DataSourceArrayOutput struct{ *pulumi.OutputState } 469 470 func (DataSourceArrayOutput) ElementType() reflect.Type { 471 return reflect.TypeOf((*[]*DataSource)(nil)).Elem() 472 } 473 474 func (o DataSourceArrayOutput) ToDataSourceArrayOutput() DataSourceArrayOutput { 475 return o 476 } 477 478 func (o DataSourceArrayOutput) ToDataSourceArrayOutputWithContext(ctx context.Context) DataSourceArrayOutput { 479 return o 480 } 481 482 func (o DataSourceArrayOutput) Index(i pulumi.IntInput) DataSourceOutput { 483 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DataSource { 484 return vs[0].([]*DataSource)[vs[1].(int)] 485 }).(DataSourceOutput) 486 } 487 488 type DataSourceMapOutput struct{ *pulumi.OutputState } 489 490 func (DataSourceMapOutput) ElementType() reflect.Type { 491 return reflect.TypeOf((*map[string]*DataSource)(nil)).Elem() 492 } 493 494 func (o DataSourceMapOutput) ToDataSourceMapOutput() DataSourceMapOutput { 495 return o 496 } 497 498 func (o DataSourceMapOutput) ToDataSourceMapOutputWithContext(ctx context.Context) DataSourceMapOutput { 499 return o 500 } 501 502 func (o DataSourceMapOutput) MapIndex(k pulumi.StringInput) DataSourceOutput { 503 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DataSource { 504 return vs[0].(map[string]*DataSource)[vs[1].(string)] 505 }).(DataSourceOutput) 506 } 507 508 func init() { 509 pulumi.RegisterInputType(reflect.TypeOf((*DataSourceInput)(nil)).Elem(), &DataSource{}) 510 pulumi.RegisterInputType(reflect.TypeOf((*DataSourceArrayInput)(nil)).Elem(), DataSourceArray{}) 511 pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMapInput)(nil)).Elem(), DataSourceMap{}) 512 pulumi.RegisterOutputType(DataSourceOutput{}) 513 pulumi.RegisterOutputType(DataSourceArrayOutput{}) 514 pulumi.RegisterOutputType(DataSourceMapOutput{}) 515 }