import * as core from "@terrascript/core"; export interface BasicArgs extends core.SchemaArgs { password: string | core.StringOut; username: string | core.StringOut; } export class Basic extends core.Schema { @core.attr(String) public password!: string | core.StringOut; @core.attr(String) public username!: string | core.StringOut; } export interface QueryStringArgs extends core.SchemaArgs { isValueSecret?: boolean | core.BooleanOut; key?: string | core.StringOut; value?: string | core.StringOut; } export class QueryString extends core.Schema { @core.attr(Boolean) public isValueSecret?: boolean | core.BooleanOut; @core.attr(String) public key?: string | core.StringOut; @core.attr(String) public value?: string | core.StringOut; } export interface BodyArgs extends core.SchemaArgs { isValueSecret?: boolean | core.BooleanOut; key?: string | core.StringOut; value?: string | core.StringOut; } export class Body extends core.Schema { @core.attr(Boolean) public isValueSecret?: boolean | core.BooleanOut; @core.attr(String) public key?: string | core.StringOut; @core.attr(String) public value?: string | core.StringOut; } export interface HeaderArgs extends core.SchemaArgs { isValueSecret?: boolean | core.BooleanOut; key?: string | core.StringOut; value?: string | core.StringOut; } export class Header extends core.Schema { @core.attr(Boolean) public isValueSecret?: boolean | core.BooleanOut; @core.attr(String) public key?: string | core.StringOut; @core.attr(String) public value?: string | core.StringOut; } export interface OauthHttpParametersArgs extends core.SchemaArgs { body?: core.Array | core.ArrayOut; header?: core.Array
| core.ArrayOut
; queryString?: core.Array | core.ArrayOut; } export class OauthHttpParameters extends core.Schema { @core.attr(Body, { kind: "array" }) public body?: core.Array | core.ArrayOut; @core.attr(Header, { kind: "array" }) public header?: core.Array
| core.ArrayOut
; @core.attr(QueryString, { kind: "array" }) public queryString?: core.Array | core.ArrayOut; } export interface ClientParametersArgs extends core.SchemaArgs { clientId: string | core.StringOut; clientSecret: string | core.StringOut; } export class ClientParameters extends core.Schema { @core.attr(String) public clientId!: string | core.StringOut; @core.attr(String) public clientSecret!: string | core.StringOut; } export interface OauthArgs extends core.SchemaArgs { authorizationEndpoint: string | core.StringOut; clientParameters?: ClientParameters; httpMethod: string | core.StringOut; oauthHttpParameters: OauthHttpParameters; } export class Oauth extends core.Schema { @core.attr(String) public authorizationEndpoint!: string | core.StringOut; @core.attr(ClientParameters) public clientParameters?: ClientParameters; @core.attr(String) public httpMethod!: string | core.StringOut; @core.attr(OauthHttpParameters) public oauthHttpParameters!: OauthHttpParameters; } export interface InvocationHttpParametersArgs extends core.SchemaArgs { body?: core.Array | core.ArrayOut; header?: core.Array
| core.ArrayOut
; queryString?: core.Array | core.ArrayOut; } export class InvocationHttpParameters extends core.Schema { @core.attr(Body, { kind: "array" }) public body?: core.Array | core.ArrayOut; @core.attr(Header, { kind: "array" }) public header?: core.Array
| core.ArrayOut
; @core.attr(QueryString, { kind: "array" }) public queryString?: core.Array | core.ArrayOut; } export interface ApiKeyArgs extends core.SchemaArgs { key: string | core.StringOut; value: string | core.StringOut; } export class ApiKey extends core.Schema { @core.attr(String) public key!: string | core.StringOut; @core.attr(String) public value!: string | core.StringOut; } export interface AuthParametersArgs extends core.SchemaArgs { apiKey?: ApiKey; basic?: Basic; invocationHttpParameters?: InvocationHttpParameters; oauth?: Oauth; } export class AuthParameters extends core.Schema { @core.attr(ApiKey) public apiKey?: ApiKey; @core.attr(Basic) public basic?: Basic; @core.attr(InvocationHttpParameters) public invocationHttpParameters?: InvocationHttpParameters; @core.attr(Oauth) public oauth?: Oauth; } export interface CloudwatchEventConnectionArgs extends core.ResourceArgs { /** * (Required) Parameters used for authorization. A maximum of 1 are allowed. Documented below. */ authParameters: AuthParameters; /** * (Required) Choose the type of authorization to use for the connection. One of `API_KEY`,`BASIC`,`OAU * TH_CLIENT_CREDENTIALS`. */ authorizationType: string | core.StringOut; /** * (Optional) Enter a description for the connection. Maximum of 512 characters. */ description?: string | core.StringOut; /** * (Required) The name of the new connection. Maximum of 64 characters consisting of numbers, lower/upp * er case letters, .,-,_. */ name: string | core.StringOut; } export class CloudwatchEventConnection extends core.Resource { /** * The Amazon Resource Name (ARN) of the connection. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) Parameters used for authorization. A maximum of 1 are allowed. Documented below. */ @core.attr(AuthParameters) public authParameters!: AuthParameters; /** * (Required) Choose the type of authorization to use for the connection. One of `API_KEY`,`BASIC`,`OAU * TH_CLIENT_CREDENTIALS`. */ @core.attr(String) public authorizationType!: string | core.StringOut; /** * (Optional) Enter a description for the connection. Maximum of 512 characters. */ @core.attr(String) public description?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the new connection. Maximum of 64 characters consisting of numbers, lower/upp * er case letters, .,-,_. */ @core.attr(String) public name!: string | core.StringOut; /** * The Amazon Resource Name (ARN) of the secret created from the authorization parameters specified for * the connection. */ @core.attr(String, { computed: true }) public secretArn!: string | core.StringOut; constructor(name: string, args?: CloudwatchEventConnectionArgs) { super(name, "aws_cloudwatch_event_connection", args); } public override getNamespace(): string { return "aws_eventbridge"; } }