github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opensearch/domainSamlOptions.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 opensearch 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 // Manages SAML authentication options for an AWS OpenSearch Domain. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch" 28 // "github.com/pulumi/pulumi-std/sdk/go/std" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // example, err := opensearch.NewDomain(ctx, "example", &opensearch.DomainArgs{ 36 // DomainName: pulumi.String("example"), 37 // EngineVersion: pulumi.String("OpenSearch_1.1"), 38 // ClusterConfig: &opensearch.DomainClusterConfigArgs{ 39 // InstanceType: pulumi.String("r4.large.search"), 40 // }, 41 // SnapshotOptions: &opensearch.DomainSnapshotOptionsArgs{ 42 // AutomatedSnapshotStartHour: pulumi.Int(23), 43 // }, 44 // Tags: pulumi.StringMap{ 45 // "Domain": pulumi.String("TestDomain"), 46 // }, 47 // }) 48 // if err != nil { 49 // return err 50 // } 51 // invokeFile, err := std.File(ctx, &std.FileArgs{ 52 // Input: "./saml-metadata.xml", 53 // }, nil) 54 // if err != nil { 55 // return err 56 // } 57 // _, err = opensearch.NewDomainSamlOptions(ctx, "example", &opensearch.DomainSamlOptionsArgs{ 58 // DomainName: example.DomainName, 59 // SamlOptions: &opensearch.DomainSamlOptionsSamlOptionsArgs{ 60 // Enabled: pulumi.Bool(true), 61 // Idp: &opensearch.DomainSamlOptionsSamlOptionsIdpArgs{ 62 // EntityId: pulumi.String("https://example.com"), 63 // MetadataContent: invokeFile.Result, 64 // }, 65 // }, 66 // }) 67 // if err != nil { 68 // return err 69 // } 70 // return nil 71 // }) 72 // } 73 // 74 // ``` 75 // <!--End PulumiCodeChooser --> 76 // 77 // ## Import 78 // 79 // Using `pulumi import`, import OpenSearch domains using the `domain_name`. For example: 80 // 81 // ```sh 82 // $ pulumi import aws:opensearch/domainSamlOptions:DomainSamlOptions example domain_name 83 // ``` 84 type DomainSamlOptions struct { 85 pulumi.CustomResourceState 86 87 // Name of the domain. 88 // 89 // The following arguments are optional: 90 DomainName pulumi.StringOutput `pulumi:"domainName"` 91 // SAML authentication options for an AWS OpenSearch Domain. 92 SamlOptions DomainSamlOptionsSamlOptionsPtrOutput `pulumi:"samlOptions"` 93 } 94 95 // NewDomainSamlOptions registers a new resource with the given unique name, arguments, and options. 96 func NewDomainSamlOptions(ctx *pulumi.Context, 97 name string, args *DomainSamlOptionsArgs, opts ...pulumi.ResourceOption) (*DomainSamlOptions, error) { 98 if args == nil { 99 return nil, errors.New("missing one or more required arguments") 100 } 101 102 if args.DomainName == nil { 103 return nil, errors.New("invalid value for required argument 'DomainName'") 104 } 105 opts = internal.PkgResourceDefaultOpts(opts) 106 var resource DomainSamlOptions 107 err := ctx.RegisterResource("aws:opensearch/domainSamlOptions:DomainSamlOptions", name, args, &resource, opts...) 108 if err != nil { 109 return nil, err 110 } 111 return &resource, nil 112 } 113 114 // GetDomainSamlOptions gets an existing DomainSamlOptions resource's state with the given name, ID, and optional 115 // state properties that are used to uniquely qualify the lookup (nil if not required). 116 func GetDomainSamlOptions(ctx *pulumi.Context, 117 name string, id pulumi.IDInput, state *DomainSamlOptionsState, opts ...pulumi.ResourceOption) (*DomainSamlOptions, error) { 118 var resource DomainSamlOptions 119 err := ctx.ReadResource("aws:opensearch/domainSamlOptions:DomainSamlOptions", name, id, state, &resource, opts...) 120 if err != nil { 121 return nil, err 122 } 123 return &resource, nil 124 } 125 126 // Input properties used for looking up and filtering DomainSamlOptions resources. 127 type domainSamlOptionsState struct { 128 // Name of the domain. 129 // 130 // The following arguments are optional: 131 DomainName *string `pulumi:"domainName"` 132 // SAML authentication options for an AWS OpenSearch Domain. 133 SamlOptions *DomainSamlOptionsSamlOptions `pulumi:"samlOptions"` 134 } 135 136 type DomainSamlOptionsState struct { 137 // Name of the domain. 138 // 139 // The following arguments are optional: 140 DomainName pulumi.StringPtrInput 141 // SAML authentication options for an AWS OpenSearch Domain. 142 SamlOptions DomainSamlOptionsSamlOptionsPtrInput 143 } 144 145 func (DomainSamlOptionsState) ElementType() reflect.Type { 146 return reflect.TypeOf((*domainSamlOptionsState)(nil)).Elem() 147 } 148 149 type domainSamlOptionsArgs struct { 150 // Name of the domain. 151 // 152 // The following arguments are optional: 153 DomainName string `pulumi:"domainName"` 154 // SAML authentication options for an AWS OpenSearch Domain. 155 SamlOptions *DomainSamlOptionsSamlOptions `pulumi:"samlOptions"` 156 } 157 158 // The set of arguments for constructing a DomainSamlOptions resource. 159 type DomainSamlOptionsArgs struct { 160 // Name of the domain. 161 // 162 // The following arguments are optional: 163 DomainName pulumi.StringInput 164 // SAML authentication options for an AWS OpenSearch Domain. 165 SamlOptions DomainSamlOptionsSamlOptionsPtrInput 166 } 167 168 func (DomainSamlOptionsArgs) ElementType() reflect.Type { 169 return reflect.TypeOf((*domainSamlOptionsArgs)(nil)).Elem() 170 } 171 172 type DomainSamlOptionsInput interface { 173 pulumi.Input 174 175 ToDomainSamlOptionsOutput() DomainSamlOptionsOutput 176 ToDomainSamlOptionsOutputWithContext(ctx context.Context) DomainSamlOptionsOutput 177 } 178 179 func (*DomainSamlOptions) ElementType() reflect.Type { 180 return reflect.TypeOf((**DomainSamlOptions)(nil)).Elem() 181 } 182 183 func (i *DomainSamlOptions) ToDomainSamlOptionsOutput() DomainSamlOptionsOutput { 184 return i.ToDomainSamlOptionsOutputWithContext(context.Background()) 185 } 186 187 func (i *DomainSamlOptions) ToDomainSamlOptionsOutputWithContext(ctx context.Context) DomainSamlOptionsOutput { 188 return pulumi.ToOutputWithContext(ctx, i).(DomainSamlOptionsOutput) 189 } 190 191 // DomainSamlOptionsArrayInput is an input type that accepts DomainSamlOptionsArray and DomainSamlOptionsArrayOutput values. 192 // You can construct a concrete instance of `DomainSamlOptionsArrayInput` via: 193 // 194 // DomainSamlOptionsArray{ DomainSamlOptionsArgs{...} } 195 type DomainSamlOptionsArrayInput interface { 196 pulumi.Input 197 198 ToDomainSamlOptionsArrayOutput() DomainSamlOptionsArrayOutput 199 ToDomainSamlOptionsArrayOutputWithContext(context.Context) DomainSamlOptionsArrayOutput 200 } 201 202 type DomainSamlOptionsArray []DomainSamlOptionsInput 203 204 func (DomainSamlOptionsArray) ElementType() reflect.Type { 205 return reflect.TypeOf((*[]*DomainSamlOptions)(nil)).Elem() 206 } 207 208 func (i DomainSamlOptionsArray) ToDomainSamlOptionsArrayOutput() DomainSamlOptionsArrayOutput { 209 return i.ToDomainSamlOptionsArrayOutputWithContext(context.Background()) 210 } 211 212 func (i DomainSamlOptionsArray) ToDomainSamlOptionsArrayOutputWithContext(ctx context.Context) DomainSamlOptionsArrayOutput { 213 return pulumi.ToOutputWithContext(ctx, i).(DomainSamlOptionsArrayOutput) 214 } 215 216 // DomainSamlOptionsMapInput is an input type that accepts DomainSamlOptionsMap and DomainSamlOptionsMapOutput values. 217 // You can construct a concrete instance of `DomainSamlOptionsMapInput` via: 218 // 219 // DomainSamlOptionsMap{ "key": DomainSamlOptionsArgs{...} } 220 type DomainSamlOptionsMapInput interface { 221 pulumi.Input 222 223 ToDomainSamlOptionsMapOutput() DomainSamlOptionsMapOutput 224 ToDomainSamlOptionsMapOutputWithContext(context.Context) DomainSamlOptionsMapOutput 225 } 226 227 type DomainSamlOptionsMap map[string]DomainSamlOptionsInput 228 229 func (DomainSamlOptionsMap) ElementType() reflect.Type { 230 return reflect.TypeOf((*map[string]*DomainSamlOptions)(nil)).Elem() 231 } 232 233 func (i DomainSamlOptionsMap) ToDomainSamlOptionsMapOutput() DomainSamlOptionsMapOutput { 234 return i.ToDomainSamlOptionsMapOutputWithContext(context.Background()) 235 } 236 237 func (i DomainSamlOptionsMap) ToDomainSamlOptionsMapOutputWithContext(ctx context.Context) DomainSamlOptionsMapOutput { 238 return pulumi.ToOutputWithContext(ctx, i).(DomainSamlOptionsMapOutput) 239 } 240 241 type DomainSamlOptionsOutput struct{ *pulumi.OutputState } 242 243 func (DomainSamlOptionsOutput) ElementType() reflect.Type { 244 return reflect.TypeOf((**DomainSamlOptions)(nil)).Elem() 245 } 246 247 func (o DomainSamlOptionsOutput) ToDomainSamlOptionsOutput() DomainSamlOptionsOutput { 248 return o 249 } 250 251 func (o DomainSamlOptionsOutput) ToDomainSamlOptionsOutputWithContext(ctx context.Context) DomainSamlOptionsOutput { 252 return o 253 } 254 255 // Name of the domain. 256 // 257 // The following arguments are optional: 258 func (o DomainSamlOptionsOutput) DomainName() pulumi.StringOutput { 259 return o.ApplyT(func(v *DomainSamlOptions) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) 260 } 261 262 // SAML authentication options for an AWS OpenSearch Domain. 263 func (o DomainSamlOptionsOutput) SamlOptions() DomainSamlOptionsSamlOptionsPtrOutput { 264 return o.ApplyT(func(v *DomainSamlOptions) DomainSamlOptionsSamlOptionsPtrOutput { return v.SamlOptions }).(DomainSamlOptionsSamlOptionsPtrOutput) 265 } 266 267 type DomainSamlOptionsArrayOutput struct{ *pulumi.OutputState } 268 269 func (DomainSamlOptionsArrayOutput) ElementType() reflect.Type { 270 return reflect.TypeOf((*[]*DomainSamlOptions)(nil)).Elem() 271 } 272 273 func (o DomainSamlOptionsArrayOutput) ToDomainSamlOptionsArrayOutput() DomainSamlOptionsArrayOutput { 274 return o 275 } 276 277 func (o DomainSamlOptionsArrayOutput) ToDomainSamlOptionsArrayOutputWithContext(ctx context.Context) DomainSamlOptionsArrayOutput { 278 return o 279 } 280 281 func (o DomainSamlOptionsArrayOutput) Index(i pulumi.IntInput) DomainSamlOptionsOutput { 282 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DomainSamlOptions { 283 return vs[0].([]*DomainSamlOptions)[vs[1].(int)] 284 }).(DomainSamlOptionsOutput) 285 } 286 287 type DomainSamlOptionsMapOutput struct{ *pulumi.OutputState } 288 289 func (DomainSamlOptionsMapOutput) ElementType() reflect.Type { 290 return reflect.TypeOf((*map[string]*DomainSamlOptions)(nil)).Elem() 291 } 292 293 func (o DomainSamlOptionsMapOutput) ToDomainSamlOptionsMapOutput() DomainSamlOptionsMapOutput { 294 return o 295 } 296 297 func (o DomainSamlOptionsMapOutput) ToDomainSamlOptionsMapOutputWithContext(ctx context.Context) DomainSamlOptionsMapOutput { 298 return o 299 } 300 301 func (o DomainSamlOptionsMapOutput) MapIndex(k pulumi.StringInput) DomainSamlOptionsOutput { 302 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DomainSamlOptions { 303 return vs[0].(map[string]*DomainSamlOptions)[vs[1].(string)] 304 }).(DomainSamlOptionsOutput) 305 } 306 307 func init() { 308 pulumi.RegisterInputType(reflect.TypeOf((*DomainSamlOptionsInput)(nil)).Elem(), &DomainSamlOptions{}) 309 pulumi.RegisterInputType(reflect.TypeOf((*DomainSamlOptionsArrayInput)(nil)).Elem(), DomainSamlOptionsArray{}) 310 pulumi.RegisterInputType(reflect.TypeOf((*DomainSamlOptionsMapInput)(nil)).Elem(), DomainSamlOptionsMap{}) 311 pulumi.RegisterOutputType(DomainSamlOptionsOutput{}) 312 pulumi.RegisterOutputType(DomainSamlOptionsArrayOutput{}) 313 pulumi.RegisterOutputType(DomainSamlOptionsMapOutput{}) 314 }