github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/storagegateway/gateway.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 storagegateway 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 an AWS Storage Gateway file, tape, or volume gateway in the provider region. 16 // 17 // > **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html). 18 // 19 // ## Example Usage 20 // 21 // ### Local Cache 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 31 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 32 // 33 // ) 34 // 35 // func main() { 36 // pulumi.Run(func(ctx *pulumi.Context) error { 37 // _, err := ec2.NewVolumeAttachment(ctx, "test", &ec2.VolumeAttachmentArgs{ 38 // DeviceName: pulumi.String("/dev/xvdb"), 39 // VolumeId: pulumi.Any(testAwsEbsVolume.Id), 40 // InstanceId: pulumi.Any(testAwsInstance.Id), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // test, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{ 46 // DiskNode: pulumi.StringRef(testAwsVolumeAttachment.DeviceName), 47 // GatewayArn: testAwsStoragegatewayGateway.Arn, 48 // }, nil) 49 // if err != nil { 50 // return err 51 // } 52 // _, err = storagegateway.NewCache(ctx, "test", &storagegateway.CacheArgs{ 53 // DiskId: pulumi.String(test.DiskId), 54 // GatewayArn: pulumi.Any(testAwsStoragegatewayGateway.Arn), 55 // }) 56 // if err != nil { 57 // return err 58 // } 59 // return nil 60 // }) 61 // } 62 // 63 // ``` 64 // <!--End PulumiCodeChooser --> 65 // 66 // ### FSx File Gateway 67 // 68 // <!--Start PulumiCodeChooser --> 69 // ```go 70 // package main 71 // 72 // import ( 73 // 74 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 75 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 76 // 77 // ) 78 // 79 // func main() { 80 // pulumi.Run(func(ctx *pulumi.Context) error { 81 // _, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{ 82 // GatewayIpAddress: pulumi.String("1.2.3.4"), 83 // GatewayName: pulumi.String("example"), 84 // GatewayTimezone: pulumi.String("GMT"), 85 // GatewayType: pulumi.String("FILE_FSX_SMB"), 86 // SmbActiveDirectorySettings: &storagegateway.GatewaySmbActiveDirectorySettingsArgs{ 87 // DomainName: pulumi.String("corp.example.com"), 88 // Password: pulumi.String("avoid-plaintext-passwords"), 89 // Username: pulumi.String("Admin"), 90 // }, 91 // }) 92 // if err != nil { 93 // return err 94 // } 95 // return nil 96 // }) 97 // } 98 // 99 // ``` 100 // <!--End PulumiCodeChooser --> 101 // 102 // ### S3 File Gateway 103 // 104 // <!--Start PulumiCodeChooser --> 105 // ```go 106 // package main 107 // 108 // import ( 109 // 110 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 111 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 112 // 113 // ) 114 // 115 // func main() { 116 // pulumi.Run(func(ctx *pulumi.Context) error { 117 // _, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{ 118 // GatewayIpAddress: pulumi.String("1.2.3.4"), 119 // GatewayName: pulumi.String("example"), 120 // GatewayTimezone: pulumi.String("GMT"), 121 // GatewayType: pulumi.String("FILE_S3"), 122 // }) 123 // if err != nil { 124 // return err 125 // } 126 // return nil 127 // }) 128 // } 129 // 130 // ``` 131 // <!--End PulumiCodeChooser --> 132 // 133 // ### Tape Gateway 134 // 135 // <!--Start PulumiCodeChooser --> 136 // ```go 137 // package main 138 // 139 // import ( 140 // 141 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 142 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 143 // 144 // ) 145 // 146 // func main() { 147 // pulumi.Run(func(ctx *pulumi.Context) error { 148 // _, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{ 149 // GatewayIpAddress: pulumi.String("1.2.3.4"), 150 // GatewayName: pulumi.String("example"), 151 // GatewayTimezone: pulumi.String("GMT"), 152 // GatewayType: pulumi.String("VTL"), 153 // MediumChangerType: pulumi.String("AWS-Gateway-VTL"), 154 // TapeDriveType: pulumi.String("IBM-ULT3580-TD5"), 155 // }) 156 // if err != nil { 157 // return err 158 // } 159 // return nil 160 // }) 161 // } 162 // 163 // ``` 164 // <!--End PulumiCodeChooser --> 165 // 166 // ### Volume Gateway (Cached) 167 // 168 // <!--Start PulumiCodeChooser --> 169 // ```go 170 // package main 171 // 172 // import ( 173 // 174 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 175 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 176 // 177 // ) 178 // 179 // func main() { 180 // pulumi.Run(func(ctx *pulumi.Context) error { 181 // _, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{ 182 // GatewayIpAddress: pulumi.String("1.2.3.4"), 183 // GatewayName: pulumi.String("example"), 184 // GatewayTimezone: pulumi.String("GMT"), 185 // GatewayType: pulumi.String("CACHED"), 186 // }) 187 // if err != nil { 188 // return err 189 // } 190 // return nil 191 // }) 192 // } 193 // 194 // ``` 195 // <!--End PulumiCodeChooser --> 196 // 197 // ### Volume Gateway (Stored) 198 // 199 // <!--Start PulumiCodeChooser --> 200 // ```go 201 // package main 202 // 203 // import ( 204 // 205 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 206 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 207 // 208 // ) 209 // 210 // func main() { 211 // pulumi.Run(func(ctx *pulumi.Context) error { 212 // _, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{ 213 // GatewayIpAddress: pulumi.String("1.2.3.4"), 214 // GatewayName: pulumi.String("example"), 215 // GatewayTimezone: pulumi.String("GMT"), 216 // GatewayType: pulumi.String("STORED"), 217 // }) 218 // if err != nil { 219 // return err 220 // } 221 // return nil 222 // }) 223 // } 224 // 225 // ``` 226 // <!--End PulumiCodeChooser --> 227 // 228 // ## Import 229 // 230 // Using `pulumi import`, import `aws_storagegateway_gateway` using the gateway Amazon Resource Name (ARN). For example: 231 // 232 // ```sh 233 // $ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678 234 // ``` 235 // Certain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example: 236 type Gateway struct { 237 pulumi.CustomResourceState 238 239 // Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 240 ActivationKey pulumi.StringOutput `pulumi:"activationKey"` 241 // Amazon Resource Name (ARN) of the gateway. 242 Arn pulumi.StringOutput `pulumi:"arn"` 243 // The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 244 AverageDownloadRateLimitInBitsPerSec pulumi.IntPtrOutput `pulumi:"averageDownloadRateLimitInBitsPerSec"` 245 // The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 246 AverageUploadRateLimitInBitsPerSec pulumi.IntPtrOutput `pulumi:"averageUploadRateLimitInBitsPerSec"` 247 // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway. 248 CloudwatchLogGroupArn pulumi.StringPtrOutput `pulumi:"cloudwatchLogGroupArn"` 249 // The ID of the Amazon EC2 instance that was used to launch the gateway. 250 Ec2InstanceId pulumi.StringOutput `pulumi:"ec2InstanceId"` 251 // The type of endpoint for your gateway. 252 EndpointType pulumi.StringOutput `pulumi:"endpointType"` 253 // Identifier of the gateway. 254 GatewayId pulumi.StringOutput `pulumi:"gatewayId"` 255 // Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 256 GatewayIpAddress pulumi.StringOutput `pulumi:"gatewayIpAddress"` 257 // Name of the gateway. 258 GatewayName pulumi.StringOutput `pulumi:"gatewayName"` 259 // An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface. 260 GatewayNetworkInterfaces GatewayGatewayNetworkInterfaceArrayOutput `pulumi:"gatewayNetworkInterfaces"` 261 // Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. 262 GatewayTimezone pulumi.StringOutput `pulumi:"gatewayTimezone"` 263 // Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`. 264 GatewayType pulumi.StringPtrOutput `pulumi:"gatewayType"` 265 // VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html). 266 GatewayVpcEndpoint pulumi.StringPtrOutput `pulumi:"gatewayVpcEndpoint"` 267 // The type of hypervisor environment used by the host. 268 HostEnvironment pulumi.StringOutput `pulumi:"hostEnvironment"` 269 // The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below. 270 MaintenanceStartTime GatewayMaintenanceStartTimeOutput `pulumi:"maintenanceStartTime"` 271 // Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`. 272 MediumChangerType pulumi.StringPtrOutput `pulumi:"mediumChangerType"` 273 // Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below. 274 SmbActiveDirectorySettings GatewaySmbActiveDirectorySettingsPtrOutput `pulumi:"smbActiveDirectorySettings"` 275 // Specifies whether the shares on this gateway appear when listing shares. 276 SmbFileShareVisibility pulumi.BoolPtrOutput `pulumi:"smbFileShareVisibility"` 277 // Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument. 278 SmbGuestPassword pulumi.StringPtrOutput `pulumi:"smbGuestPassword"` 279 // Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information. 280 SmbSecurityStrategy pulumi.StringOutput `pulumi:"smbSecurityStrategy"` 281 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 282 Tags pulumi.StringMapOutput `pulumi:"tags"` 283 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 284 // 285 // Deprecated: Please use `tags` instead. 286 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 287 // Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`. 288 TapeDriveType pulumi.StringPtrOutput `pulumi:"tapeDriveType"` 289 } 290 291 // NewGateway registers a new resource with the given unique name, arguments, and options. 292 func NewGateway(ctx *pulumi.Context, 293 name string, args *GatewayArgs, opts ...pulumi.ResourceOption) (*Gateway, error) { 294 if args == nil { 295 return nil, errors.New("missing one or more required arguments") 296 } 297 298 if args.GatewayName == nil { 299 return nil, errors.New("invalid value for required argument 'GatewayName'") 300 } 301 if args.GatewayTimezone == nil { 302 return nil, errors.New("invalid value for required argument 'GatewayTimezone'") 303 } 304 if args.SmbGuestPassword != nil { 305 args.SmbGuestPassword = pulumi.ToSecret(args.SmbGuestPassword).(pulumi.StringPtrInput) 306 } 307 secrets := pulumi.AdditionalSecretOutputs([]string{ 308 "smbGuestPassword", 309 }) 310 opts = append(opts, secrets) 311 opts = internal.PkgResourceDefaultOpts(opts) 312 var resource Gateway 313 err := ctx.RegisterResource("aws:storagegateway/gateway:Gateway", name, args, &resource, opts...) 314 if err != nil { 315 return nil, err 316 } 317 return &resource, nil 318 } 319 320 // GetGateway gets an existing Gateway resource's state with the given name, ID, and optional 321 // state properties that are used to uniquely qualify the lookup (nil if not required). 322 func GetGateway(ctx *pulumi.Context, 323 name string, id pulumi.IDInput, state *GatewayState, opts ...pulumi.ResourceOption) (*Gateway, error) { 324 var resource Gateway 325 err := ctx.ReadResource("aws:storagegateway/gateway:Gateway", name, id, state, &resource, opts...) 326 if err != nil { 327 return nil, err 328 } 329 return &resource, nil 330 } 331 332 // Input properties used for looking up and filtering Gateway resources. 333 type gatewayState struct { 334 // Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 335 ActivationKey *string `pulumi:"activationKey"` 336 // Amazon Resource Name (ARN) of the gateway. 337 Arn *string `pulumi:"arn"` 338 // The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 339 AverageDownloadRateLimitInBitsPerSec *int `pulumi:"averageDownloadRateLimitInBitsPerSec"` 340 // The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 341 AverageUploadRateLimitInBitsPerSec *int `pulumi:"averageUploadRateLimitInBitsPerSec"` 342 // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway. 343 CloudwatchLogGroupArn *string `pulumi:"cloudwatchLogGroupArn"` 344 // The ID of the Amazon EC2 instance that was used to launch the gateway. 345 Ec2InstanceId *string `pulumi:"ec2InstanceId"` 346 // The type of endpoint for your gateway. 347 EndpointType *string `pulumi:"endpointType"` 348 // Identifier of the gateway. 349 GatewayId *string `pulumi:"gatewayId"` 350 // Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 351 GatewayIpAddress *string `pulumi:"gatewayIpAddress"` 352 // Name of the gateway. 353 GatewayName *string `pulumi:"gatewayName"` 354 // An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface. 355 GatewayNetworkInterfaces []GatewayGatewayNetworkInterface `pulumi:"gatewayNetworkInterfaces"` 356 // Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. 357 GatewayTimezone *string `pulumi:"gatewayTimezone"` 358 // Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`. 359 GatewayType *string `pulumi:"gatewayType"` 360 // VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html). 361 GatewayVpcEndpoint *string `pulumi:"gatewayVpcEndpoint"` 362 // The type of hypervisor environment used by the host. 363 HostEnvironment *string `pulumi:"hostEnvironment"` 364 // The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below. 365 MaintenanceStartTime *GatewayMaintenanceStartTime `pulumi:"maintenanceStartTime"` 366 // Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`. 367 MediumChangerType *string `pulumi:"mediumChangerType"` 368 // Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below. 369 SmbActiveDirectorySettings *GatewaySmbActiveDirectorySettings `pulumi:"smbActiveDirectorySettings"` 370 // Specifies whether the shares on this gateway appear when listing shares. 371 SmbFileShareVisibility *bool `pulumi:"smbFileShareVisibility"` 372 // Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument. 373 SmbGuestPassword *string `pulumi:"smbGuestPassword"` 374 // Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information. 375 SmbSecurityStrategy *string `pulumi:"smbSecurityStrategy"` 376 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 377 Tags map[string]string `pulumi:"tags"` 378 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 379 // 380 // Deprecated: Please use `tags` instead. 381 TagsAll map[string]string `pulumi:"tagsAll"` 382 // Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`. 383 TapeDriveType *string `pulumi:"tapeDriveType"` 384 } 385 386 type GatewayState struct { 387 // Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 388 ActivationKey pulumi.StringPtrInput 389 // Amazon Resource Name (ARN) of the gateway. 390 Arn pulumi.StringPtrInput 391 // The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 392 AverageDownloadRateLimitInBitsPerSec pulumi.IntPtrInput 393 // The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 394 AverageUploadRateLimitInBitsPerSec pulumi.IntPtrInput 395 // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway. 396 CloudwatchLogGroupArn pulumi.StringPtrInput 397 // The ID of the Amazon EC2 instance that was used to launch the gateway. 398 Ec2InstanceId pulumi.StringPtrInput 399 // The type of endpoint for your gateway. 400 EndpointType pulumi.StringPtrInput 401 // Identifier of the gateway. 402 GatewayId pulumi.StringPtrInput 403 // Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 404 GatewayIpAddress pulumi.StringPtrInput 405 // Name of the gateway. 406 GatewayName pulumi.StringPtrInput 407 // An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface. 408 GatewayNetworkInterfaces GatewayGatewayNetworkInterfaceArrayInput 409 // Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. 410 GatewayTimezone pulumi.StringPtrInput 411 // Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`. 412 GatewayType pulumi.StringPtrInput 413 // VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html). 414 GatewayVpcEndpoint pulumi.StringPtrInput 415 // The type of hypervisor environment used by the host. 416 HostEnvironment pulumi.StringPtrInput 417 // The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below. 418 MaintenanceStartTime GatewayMaintenanceStartTimePtrInput 419 // Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`. 420 MediumChangerType pulumi.StringPtrInput 421 // Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below. 422 SmbActiveDirectorySettings GatewaySmbActiveDirectorySettingsPtrInput 423 // Specifies whether the shares on this gateway appear when listing shares. 424 SmbFileShareVisibility pulumi.BoolPtrInput 425 // Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument. 426 SmbGuestPassword pulumi.StringPtrInput 427 // Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information. 428 SmbSecurityStrategy pulumi.StringPtrInput 429 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 430 Tags pulumi.StringMapInput 431 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 432 // 433 // Deprecated: Please use `tags` instead. 434 TagsAll pulumi.StringMapInput 435 // Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`. 436 TapeDriveType pulumi.StringPtrInput 437 } 438 439 func (GatewayState) ElementType() reflect.Type { 440 return reflect.TypeOf((*gatewayState)(nil)).Elem() 441 } 442 443 type gatewayArgs struct { 444 // Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 445 ActivationKey *string `pulumi:"activationKey"` 446 // The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 447 AverageDownloadRateLimitInBitsPerSec *int `pulumi:"averageDownloadRateLimitInBitsPerSec"` 448 // The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 449 AverageUploadRateLimitInBitsPerSec *int `pulumi:"averageUploadRateLimitInBitsPerSec"` 450 // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway. 451 CloudwatchLogGroupArn *string `pulumi:"cloudwatchLogGroupArn"` 452 // Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 453 GatewayIpAddress *string `pulumi:"gatewayIpAddress"` 454 // Name of the gateway. 455 GatewayName string `pulumi:"gatewayName"` 456 // Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. 457 GatewayTimezone string `pulumi:"gatewayTimezone"` 458 // Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`. 459 GatewayType *string `pulumi:"gatewayType"` 460 // VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html). 461 GatewayVpcEndpoint *string `pulumi:"gatewayVpcEndpoint"` 462 // The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below. 463 MaintenanceStartTime *GatewayMaintenanceStartTime `pulumi:"maintenanceStartTime"` 464 // Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`. 465 MediumChangerType *string `pulumi:"mediumChangerType"` 466 // Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below. 467 SmbActiveDirectorySettings *GatewaySmbActiveDirectorySettings `pulumi:"smbActiveDirectorySettings"` 468 // Specifies whether the shares on this gateway appear when listing shares. 469 SmbFileShareVisibility *bool `pulumi:"smbFileShareVisibility"` 470 // Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument. 471 SmbGuestPassword *string `pulumi:"smbGuestPassword"` 472 // Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information. 473 SmbSecurityStrategy *string `pulumi:"smbSecurityStrategy"` 474 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 475 Tags map[string]string `pulumi:"tags"` 476 // Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`. 477 TapeDriveType *string `pulumi:"tapeDriveType"` 478 } 479 480 // The set of arguments for constructing a Gateway resource. 481 type GatewayArgs struct { 482 // Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 483 ActivationKey pulumi.StringPtrInput 484 // The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 485 AverageDownloadRateLimitInBitsPerSec pulumi.IntPtrInput 486 // The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 487 AverageUploadRateLimitInBitsPerSec pulumi.IntPtrInput 488 // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway. 489 CloudwatchLogGroupArn pulumi.StringPtrInput 490 // Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 491 GatewayIpAddress pulumi.StringPtrInput 492 // Name of the gateway. 493 GatewayName pulumi.StringInput 494 // Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. 495 GatewayTimezone pulumi.StringInput 496 // Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`. 497 GatewayType pulumi.StringPtrInput 498 // VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html). 499 GatewayVpcEndpoint pulumi.StringPtrInput 500 // The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below. 501 MaintenanceStartTime GatewayMaintenanceStartTimePtrInput 502 // Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`. 503 MediumChangerType pulumi.StringPtrInput 504 // Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below. 505 SmbActiveDirectorySettings GatewaySmbActiveDirectorySettingsPtrInput 506 // Specifies whether the shares on this gateway appear when listing shares. 507 SmbFileShareVisibility pulumi.BoolPtrInput 508 // Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument. 509 SmbGuestPassword pulumi.StringPtrInput 510 // Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information. 511 SmbSecurityStrategy pulumi.StringPtrInput 512 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 513 Tags pulumi.StringMapInput 514 // Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`. 515 TapeDriveType pulumi.StringPtrInput 516 } 517 518 func (GatewayArgs) ElementType() reflect.Type { 519 return reflect.TypeOf((*gatewayArgs)(nil)).Elem() 520 } 521 522 type GatewayInput interface { 523 pulumi.Input 524 525 ToGatewayOutput() GatewayOutput 526 ToGatewayOutputWithContext(ctx context.Context) GatewayOutput 527 } 528 529 func (*Gateway) ElementType() reflect.Type { 530 return reflect.TypeOf((**Gateway)(nil)).Elem() 531 } 532 533 func (i *Gateway) ToGatewayOutput() GatewayOutput { 534 return i.ToGatewayOutputWithContext(context.Background()) 535 } 536 537 func (i *Gateway) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput { 538 return pulumi.ToOutputWithContext(ctx, i).(GatewayOutput) 539 } 540 541 // GatewayArrayInput is an input type that accepts GatewayArray and GatewayArrayOutput values. 542 // You can construct a concrete instance of `GatewayArrayInput` via: 543 // 544 // GatewayArray{ GatewayArgs{...} } 545 type GatewayArrayInput interface { 546 pulumi.Input 547 548 ToGatewayArrayOutput() GatewayArrayOutput 549 ToGatewayArrayOutputWithContext(context.Context) GatewayArrayOutput 550 } 551 552 type GatewayArray []GatewayInput 553 554 func (GatewayArray) ElementType() reflect.Type { 555 return reflect.TypeOf((*[]*Gateway)(nil)).Elem() 556 } 557 558 func (i GatewayArray) ToGatewayArrayOutput() GatewayArrayOutput { 559 return i.ToGatewayArrayOutputWithContext(context.Background()) 560 } 561 562 func (i GatewayArray) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput { 563 return pulumi.ToOutputWithContext(ctx, i).(GatewayArrayOutput) 564 } 565 566 // GatewayMapInput is an input type that accepts GatewayMap and GatewayMapOutput values. 567 // You can construct a concrete instance of `GatewayMapInput` via: 568 // 569 // GatewayMap{ "key": GatewayArgs{...} } 570 type GatewayMapInput interface { 571 pulumi.Input 572 573 ToGatewayMapOutput() GatewayMapOutput 574 ToGatewayMapOutputWithContext(context.Context) GatewayMapOutput 575 } 576 577 type GatewayMap map[string]GatewayInput 578 579 func (GatewayMap) ElementType() reflect.Type { 580 return reflect.TypeOf((*map[string]*Gateway)(nil)).Elem() 581 } 582 583 func (i GatewayMap) ToGatewayMapOutput() GatewayMapOutput { 584 return i.ToGatewayMapOutputWithContext(context.Background()) 585 } 586 587 func (i GatewayMap) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput { 588 return pulumi.ToOutputWithContext(ctx, i).(GatewayMapOutput) 589 } 590 591 type GatewayOutput struct{ *pulumi.OutputState } 592 593 func (GatewayOutput) ElementType() reflect.Type { 594 return reflect.TypeOf((**Gateway)(nil)).Elem() 595 } 596 597 func (o GatewayOutput) ToGatewayOutput() GatewayOutput { 598 return o 599 } 600 601 func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput { 602 return o 603 } 604 605 // Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 606 func (o GatewayOutput) ActivationKey() pulumi.StringOutput { 607 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.ActivationKey }).(pulumi.StringOutput) 608 } 609 610 // Amazon Resource Name (ARN) of the gateway. 611 func (o GatewayOutput) Arn() pulumi.StringOutput { 612 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 613 } 614 615 // The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 616 func (o GatewayOutput) AverageDownloadRateLimitInBitsPerSec() pulumi.IntPtrOutput { 617 return o.ApplyT(func(v *Gateway) pulumi.IntPtrOutput { return v.AverageDownloadRateLimitInBitsPerSec }).(pulumi.IntPtrOutput) 618 } 619 620 // The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types. 621 func (o GatewayOutput) AverageUploadRateLimitInBitsPerSec() pulumi.IntPtrOutput { 622 return o.ApplyT(func(v *Gateway) pulumi.IntPtrOutput { return v.AverageUploadRateLimitInBitsPerSec }).(pulumi.IntPtrOutput) 623 } 624 625 // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway. 626 func (o GatewayOutput) CloudwatchLogGroupArn() pulumi.StringPtrOutput { 627 return o.ApplyT(func(v *Gateway) pulumi.StringPtrOutput { return v.CloudwatchLogGroupArn }).(pulumi.StringPtrOutput) 628 } 629 630 // The ID of the Amazon EC2 instance that was used to launch the gateway. 631 func (o GatewayOutput) Ec2InstanceId() pulumi.StringOutput { 632 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.Ec2InstanceId }).(pulumi.StringOutput) 633 } 634 635 // The type of endpoint for your gateway. 636 func (o GatewayOutput) EndpointType() pulumi.StringOutput { 637 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.EndpointType }).(pulumi.StringOutput) 638 } 639 640 // Identifier of the gateway. 641 func (o GatewayOutput) GatewayId() pulumi.StringOutput { 642 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.GatewayId }).(pulumi.StringOutput) 643 } 644 645 // Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html). 646 func (o GatewayOutput) GatewayIpAddress() pulumi.StringOutput { 647 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.GatewayIpAddress }).(pulumi.StringOutput) 648 } 649 650 // Name of the gateway. 651 func (o GatewayOutput) GatewayName() pulumi.StringOutput { 652 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.GatewayName }).(pulumi.StringOutput) 653 } 654 655 // An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface. 656 func (o GatewayOutput) GatewayNetworkInterfaces() GatewayGatewayNetworkInterfaceArrayOutput { 657 return o.ApplyT(func(v *Gateway) GatewayGatewayNetworkInterfaceArrayOutput { return v.GatewayNetworkInterfaces }).(GatewayGatewayNetworkInterfaceArrayOutput) 658 } 659 660 // Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule. 661 func (o GatewayOutput) GatewayTimezone() pulumi.StringOutput { 662 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.GatewayTimezone }).(pulumi.StringOutput) 663 } 664 665 // Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_FSX_SMB`, `FILE_S3`, `STORED`, `VTL`. 666 func (o GatewayOutput) GatewayType() pulumi.StringPtrOutput { 667 return o.ApplyT(func(v *Gateway) pulumi.StringPtrOutput { return v.GatewayType }).(pulumi.StringPtrOutput) 668 } 669 670 // VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running this provider. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html). 671 func (o GatewayOutput) GatewayVpcEndpoint() pulumi.StringPtrOutput { 672 return o.ApplyT(func(v *Gateway) pulumi.StringPtrOutput { return v.GatewayVpcEndpoint }).(pulumi.StringPtrOutput) 673 } 674 675 // The type of hypervisor environment used by the host. 676 func (o GatewayOutput) HostEnvironment() pulumi.StringOutput { 677 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.HostEnvironment }).(pulumi.StringOutput) 678 } 679 680 // The gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone. More details below. 681 func (o GatewayOutput) MaintenanceStartTime() GatewayMaintenanceStartTimeOutput { 682 return o.ApplyT(func(v *Gateway) GatewayMaintenanceStartTimeOutput { return v.MaintenanceStartTime }).(GatewayMaintenanceStartTimeOutput) 683 } 684 685 // Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`. 686 func (o GatewayOutput) MediumChangerType() pulumi.StringPtrOutput { 687 return o.ApplyT(func(v *Gateway) pulumi.StringPtrOutput { return v.MediumChangerType }).(pulumi.StringPtrOutput) 688 } 689 690 // Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below. 691 func (o GatewayOutput) SmbActiveDirectorySettings() GatewaySmbActiveDirectorySettingsPtrOutput { 692 return o.ApplyT(func(v *Gateway) GatewaySmbActiveDirectorySettingsPtrOutput { return v.SmbActiveDirectorySettings }).(GatewaySmbActiveDirectorySettingsPtrOutput) 693 } 694 695 // Specifies whether the shares on this gateway appear when listing shares. 696 func (o GatewayOutput) SmbFileShareVisibility() pulumi.BoolPtrOutput { 697 return o.ApplyT(func(v *Gateway) pulumi.BoolPtrOutput { return v.SmbFileShareVisibility }).(pulumi.BoolPtrOutput) 698 } 699 700 // Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` and `FILE_FSX_SMB` gateway types. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument. 701 func (o GatewayOutput) SmbGuestPassword() pulumi.StringPtrOutput { 702 return o.ApplyT(func(v *Gateway) pulumi.StringPtrOutput { return v.SmbGuestPassword }).(pulumi.StringPtrOutput) 703 } 704 705 // Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information. 706 func (o GatewayOutput) SmbSecurityStrategy() pulumi.StringOutput { 707 return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.SmbSecurityStrategy }).(pulumi.StringOutput) 708 } 709 710 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 711 func (o GatewayOutput) Tags() pulumi.StringMapOutput { 712 return o.ApplyT(func(v *Gateway) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 713 } 714 715 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 716 // 717 // Deprecated: Please use `tags` instead. 718 func (o GatewayOutput) TagsAll() pulumi.StringMapOutput { 719 return o.ApplyT(func(v *Gateway) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 720 } 721 722 // Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`. 723 func (o GatewayOutput) TapeDriveType() pulumi.StringPtrOutput { 724 return o.ApplyT(func(v *Gateway) pulumi.StringPtrOutput { return v.TapeDriveType }).(pulumi.StringPtrOutput) 725 } 726 727 type GatewayArrayOutput struct{ *pulumi.OutputState } 728 729 func (GatewayArrayOutput) ElementType() reflect.Type { 730 return reflect.TypeOf((*[]*Gateway)(nil)).Elem() 731 } 732 733 func (o GatewayArrayOutput) ToGatewayArrayOutput() GatewayArrayOutput { 734 return o 735 } 736 737 func (o GatewayArrayOutput) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput { 738 return o 739 } 740 741 func (o GatewayArrayOutput) Index(i pulumi.IntInput) GatewayOutput { 742 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Gateway { 743 return vs[0].([]*Gateway)[vs[1].(int)] 744 }).(GatewayOutput) 745 } 746 747 type GatewayMapOutput struct{ *pulumi.OutputState } 748 749 func (GatewayMapOutput) ElementType() reflect.Type { 750 return reflect.TypeOf((*map[string]*Gateway)(nil)).Elem() 751 } 752 753 func (o GatewayMapOutput) ToGatewayMapOutput() GatewayMapOutput { 754 return o 755 } 756 757 func (o GatewayMapOutput) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput { 758 return o 759 } 760 761 func (o GatewayMapOutput) MapIndex(k pulumi.StringInput) GatewayOutput { 762 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Gateway { 763 return vs[0].(map[string]*Gateway)[vs[1].(string)] 764 }).(GatewayOutput) 765 } 766 767 func init() { 768 pulumi.RegisterInputType(reflect.TypeOf((*GatewayInput)(nil)).Elem(), &Gateway{}) 769 pulumi.RegisterInputType(reflect.TypeOf((*GatewayArrayInput)(nil)).Elem(), GatewayArray{}) 770 pulumi.RegisterInputType(reflect.TypeOf((*GatewayMapInput)(nil)).Elem(), GatewayMap{}) 771 pulumi.RegisterOutputType(GatewayOutput{}) 772 pulumi.RegisterOutputType(GatewayArrayOutput{}) 773 pulumi.RegisterOutputType(GatewayMapOutput{}) 774 }