github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/storagegateway/storedIscsiVolume.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 stored iSCSI volume. 16 // 17 // > **NOTE:** The gateway must have a working storage added (e.g., via the `storagegateway.WorkingStorage` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `WORKING STORAGE NOT CONFIGURED`. 18 // 19 // ## Example Usage 20 // 21 // ### Create Empty Stored iSCSI Volume 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // _, err := storagegateway.NewStoredIscsiVolume(ctx, "example", &storagegateway.StoredIscsiVolumeArgs{ 37 // GatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn), 38 // NetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp), 39 // TargetName: pulumi.String("example"), 40 // PreserveExistingData: pulumi.Bool(false), 41 // DiskId: pulumi.Any(test.Id), 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ### Create Stored iSCSI Volume From Snapshot 54 // 55 // <!--Start PulumiCodeChooser --> 56 // ```go 57 // package main 58 // 59 // import ( 60 // 61 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 62 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 63 // 64 // ) 65 // 66 // func main() { 67 // pulumi.Run(func(ctx *pulumi.Context) error { 68 // _, err := storagegateway.NewStoredIscsiVolume(ctx, "example", &storagegateway.StoredIscsiVolumeArgs{ 69 // GatewayArn: pulumi.Any(exampleAwsStoragegatewayCache.GatewayArn), 70 // NetworkInterfaceId: pulumi.Any(exampleAwsInstance.PrivateIp), 71 // SnapshotId: pulumi.Any(exampleAwsEbsSnapshot.Id), 72 // TargetName: pulumi.String("example"), 73 // PreserveExistingData: pulumi.Bool(false), 74 // DiskId: pulumi.Any(test.Id), 75 // }) 76 // if err != nil { 77 // return err 78 // } 79 // return nil 80 // }) 81 // } 82 // 83 // ``` 84 // <!--End PulumiCodeChooser --> 85 // 86 // ## Import 87 // 88 // Using `pulumi import`, import `aws_storagegateway_stored_iscsi_volume` using the volume Amazon Resource Name (ARN). For example: 89 // 90 // ```sh 91 // $ pulumi import aws:storagegateway/storedIscsiVolume:StoredIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678 92 // ``` 93 type StoredIscsiVolume struct { 94 pulumi.CustomResourceState 95 96 // Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`. 97 Arn pulumi.StringOutput `pulumi:"arn"` 98 // Whether mutual CHAP is enabled for the iSCSI target. 99 ChapEnabled pulumi.BoolOutput `pulumi:"chapEnabled"` 100 // The unique identifier for the gateway local disk that is configured as a stored volume. 101 DiskId pulumi.StringOutput `pulumi:"diskId"` 102 // The Amazon Resource Name (ARN) of the gateway. 103 GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"` 104 // `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional. 105 KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"` 106 // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`. 107 KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"` 108 // Logical disk number. 109 LunNumber pulumi.IntOutput `pulumi:"lunNumber"` 110 // The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. 111 NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` 112 // The port used to communicate with iSCSI targets. 113 NetworkInterfacePort pulumi.IntOutput `pulumi:"networkInterfacePort"` 114 // Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. 115 PreserveExistingData pulumi.BoolOutput `pulumi:"preserveExistingData"` 116 // The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`. 117 SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"` 118 // Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 119 Tags pulumi.StringMapOutput `pulumi:"tags"` 120 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 121 // 122 // Deprecated: Please use `tags` instead. 123 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 124 // Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`. 125 TargetArn pulumi.StringOutput `pulumi:"targetArn"` 126 // The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway. 127 TargetName pulumi.StringOutput `pulumi:"targetName"` 128 // A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway. 129 VolumeAttachmentStatus pulumi.StringOutput `pulumi:"volumeAttachmentStatus"` 130 // Volume ID, e.g., `vol-12345678`. 131 VolumeId pulumi.StringOutput `pulumi:"volumeId"` 132 // The size of the data stored on the volume in bytes. 133 VolumeSizeInBytes pulumi.IntOutput `pulumi:"volumeSizeInBytes"` 134 // indicates the state of the storage volume. 135 VolumeStatus pulumi.StringOutput `pulumi:"volumeStatus"` 136 // indicates the type of the volume. 137 VolumeType pulumi.StringOutput `pulumi:"volumeType"` 138 } 139 140 // NewStoredIscsiVolume registers a new resource with the given unique name, arguments, and options. 141 func NewStoredIscsiVolume(ctx *pulumi.Context, 142 name string, args *StoredIscsiVolumeArgs, opts ...pulumi.ResourceOption) (*StoredIscsiVolume, error) { 143 if args == nil { 144 return nil, errors.New("missing one or more required arguments") 145 } 146 147 if args.DiskId == nil { 148 return nil, errors.New("invalid value for required argument 'DiskId'") 149 } 150 if args.GatewayArn == nil { 151 return nil, errors.New("invalid value for required argument 'GatewayArn'") 152 } 153 if args.NetworkInterfaceId == nil { 154 return nil, errors.New("invalid value for required argument 'NetworkInterfaceId'") 155 } 156 if args.PreserveExistingData == nil { 157 return nil, errors.New("invalid value for required argument 'PreserveExistingData'") 158 } 159 if args.TargetName == nil { 160 return nil, errors.New("invalid value for required argument 'TargetName'") 161 } 162 opts = internal.PkgResourceDefaultOpts(opts) 163 var resource StoredIscsiVolume 164 err := ctx.RegisterResource("aws:storagegateway/storedIscsiVolume:StoredIscsiVolume", name, args, &resource, opts...) 165 if err != nil { 166 return nil, err 167 } 168 return &resource, nil 169 } 170 171 // GetStoredIscsiVolume gets an existing StoredIscsiVolume resource's state with the given name, ID, and optional 172 // state properties that are used to uniquely qualify the lookup (nil if not required). 173 func GetStoredIscsiVolume(ctx *pulumi.Context, 174 name string, id pulumi.IDInput, state *StoredIscsiVolumeState, opts ...pulumi.ResourceOption) (*StoredIscsiVolume, error) { 175 var resource StoredIscsiVolume 176 err := ctx.ReadResource("aws:storagegateway/storedIscsiVolume:StoredIscsiVolume", name, id, state, &resource, opts...) 177 if err != nil { 178 return nil, err 179 } 180 return &resource, nil 181 } 182 183 // Input properties used for looking up and filtering StoredIscsiVolume resources. 184 type storedIscsiVolumeState struct { 185 // Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`. 186 Arn *string `pulumi:"arn"` 187 // Whether mutual CHAP is enabled for the iSCSI target. 188 ChapEnabled *bool `pulumi:"chapEnabled"` 189 // The unique identifier for the gateway local disk that is configured as a stored volume. 190 DiskId *string `pulumi:"diskId"` 191 // The Amazon Resource Name (ARN) of the gateway. 192 GatewayArn *string `pulumi:"gatewayArn"` 193 // `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional. 194 KmsEncrypted *bool `pulumi:"kmsEncrypted"` 195 // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`. 196 KmsKey *string `pulumi:"kmsKey"` 197 // Logical disk number. 198 LunNumber *int `pulumi:"lunNumber"` 199 // The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. 200 NetworkInterfaceId *string `pulumi:"networkInterfaceId"` 201 // The port used to communicate with iSCSI targets. 202 NetworkInterfacePort *int `pulumi:"networkInterfacePort"` 203 // Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. 204 PreserveExistingData *bool `pulumi:"preserveExistingData"` 205 // The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`. 206 SnapshotId *string `pulumi:"snapshotId"` 207 // Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 208 Tags map[string]string `pulumi:"tags"` 209 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 210 // 211 // Deprecated: Please use `tags` instead. 212 TagsAll map[string]string `pulumi:"tagsAll"` 213 // Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`. 214 TargetArn *string `pulumi:"targetArn"` 215 // The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway. 216 TargetName *string `pulumi:"targetName"` 217 // A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway. 218 VolumeAttachmentStatus *string `pulumi:"volumeAttachmentStatus"` 219 // Volume ID, e.g., `vol-12345678`. 220 VolumeId *string `pulumi:"volumeId"` 221 // The size of the data stored on the volume in bytes. 222 VolumeSizeInBytes *int `pulumi:"volumeSizeInBytes"` 223 // indicates the state of the storage volume. 224 VolumeStatus *string `pulumi:"volumeStatus"` 225 // indicates the type of the volume. 226 VolumeType *string `pulumi:"volumeType"` 227 } 228 229 type StoredIscsiVolumeState struct { 230 // Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`. 231 Arn pulumi.StringPtrInput 232 // Whether mutual CHAP is enabled for the iSCSI target. 233 ChapEnabled pulumi.BoolPtrInput 234 // The unique identifier for the gateway local disk that is configured as a stored volume. 235 DiskId pulumi.StringPtrInput 236 // The Amazon Resource Name (ARN) of the gateway. 237 GatewayArn pulumi.StringPtrInput 238 // `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional. 239 KmsEncrypted pulumi.BoolPtrInput 240 // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`. 241 KmsKey pulumi.StringPtrInput 242 // Logical disk number. 243 LunNumber pulumi.IntPtrInput 244 // The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. 245 NetworkInterfaceId pulumi.StringPtrInput 246 // The port used to communicate with iSCSI targets. 247 NetworkInterfacePort pulumi.IntPtrInput 248 // Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. 249 PreserveExistingData pulumi.BoolPtrInput 250 // The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`. 251 SnapshotId pulumi.StringPtrInput 252 // Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 253 Tags pulumi.StringMapInput 254 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 255 // 256 // Deprecated: Please use `tags` instead. 257 TagsAll pulumi.StringMapInput 258 // Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`. 259 TargetArn pulumi.StringPtrInput 260 // The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway. 261 TargetName pulumi.StringPtrInput 262 // A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway. 263 VolumeAttachmentStatus pulumi.StringPtrInput 264 // Volume ID, e.g., `vol-12345678`. 265 VolumeId pulumi.StringPtrInput 266 // The size of the data stored on the volume in bytes. 267 VolumeSizeInBytes pulumi.IntPtrInput 268 // indicates the state of the storage volume. 269 VolumeStatus pulumi.StringPtrInput 270 // indicates the type of the volume. 271 VolumeType pulumi.StringPtrInput 272 } 273 274 func (StoredIscsiVolumeState) ElementType() reflect.Type { 275 return reflect.TypeOf((*storedIscsiVolumeState)(nil)).Elem() 276 } 277 278 type storedIscsiVolumeArgs struct { 279 // The unique identifier for the gateway local disk that is configured as a stored volume. 280 DiskId string `pulumi:"diskId"` 281 // The Amazon Resource Name (ARN) of the gateway. 282 GatewayArn string `pulumi:"gatewayArn"` 283 // `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional. 284 KmsEncrypted *bool `pulumi:"kmsEncrypted"` 285 // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`. 286 KmsKey *string `pulumi:"kmsKey"` 287 // The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. 288 NetworkInterfaceId string `pulumi:"networkInterfaceId"` 289 // Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. 290 PreserveExistingData bool `pulumi:"preserveExistingData"` 291 // The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`. 292 SnapshotId *string `pulumi:"snapshotId"` 293 // Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 294 Tags map[string]string `pulumi:"tags"` 295 // The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway. 296 TargetName string `pulumi:"targetName"` 297 } 298 299 // The set of arguments for constructing a StoredIscsiVolume resource. 300 type StoredIscsiVolumeArgs struct { 301 // The unique identifier for the gateway local disk that is configured as a stored volume. 302 DiskId pulumi.StringInput 303 // The Amazon Resource Name (ARN) of the gateway. 304 GatewayArn pulumi.StringInput 305 // `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional. 306 KmsEncrypted pulumi.BoolPtrInput 307 // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`. 308 KmsKey pulumi.StringPtrInput 309 // The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. 310 NetworkInterfaceId pulumi.StringInput 311 // Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. 312 PreserveExistingData pulumi.BoolInput 313 // The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`. 314 SnapshotId pulumi.StringPtrInput 315 // Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 316 Tags pulumi.StringMapInput 317 // The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway. 318 TargetName pulumi.StringInput 319 } 320 321 func (StoredIscsiVolumeArgs) ElementType() reflect.Type { 322 return reflect.TypeOf((*storedIscsiVolumeArgs)(nil)).Elem() 323 } 324 325 type StoredIscsiVolumeInput interface { 326 pulumi.Input 327 328 ToStoredIscsiVolumeOutput() StoredIscsiVolumeOutput 329 ToStoredIscsiVolumeOutputWithContext(ctx context.Context) StoredIscsiVolumeOutput 330 } 331 332 func (*StoredIscsiVolume) ElementType() reflect.Type { 333 return reflect.TypeOf((**StoredIscsiVolume)(nil)).Elem() 334 } 335 336 func (i *StoredIscsiVolume) ToStoredIscsiVolumeOutput() StoredIscsiVolumeOutput { 337 return i.ToStoredIscsiVolumeOutputWithContext(context.Background()) 338 } 339 340 func (i *StoredIscsiVolume) ToStoredIscsiVolumeOutputWithContext(ctx context.Context) StoredIscsiVolumeOutput { 341 return pulumi.ToOutputWithContext(ctx, i).(StoredIscsiVolumeOutput) 342 } 343 344 // StoredIscsiVolumeArrayInput is an input type that accepts StoredIscsiVolumeArray and StoredIscsiVolumeArrayOutput values. 345 // You can construct a concrete instance of `StoredIscsiVolumeArrayInput` via: 346 // 347 // StoredIscsiVolumeArray{ StoredIscsiVolumeArgs{...} } 348 type StoredIscsiVolumeArrayInput interface { 349 pulumi.Input 350 351 ToStoredIscsiVolumeArrayOutput() StoredIscsiVolumeArrayOutput 352 ToStoredIscsiVolumeArrayOutputWithContext(context.Context) StoredIscsiVolumeArrayOutput 353 } 354 355 type StoredIscsiVolumeArray []StoredIscsiVolumeInput 356 357 func (StoredIscsiVolumeArray) ElementType() reflect.Type { 358 return reflect.TypeOf((*[]*StoredIscsiVolume)(nil)).Elem() 359 } 360 361 func (i StoredIscsiVolumeArray) ToStoredIscsiVolumeArrayOutput() StoredIscsiVolumeArrayOutput { 362 return i.ToStoredIscsiVolumeArrayOutputWithContext(context.Background()) 363 } 364 365 func (i StoredIscsiVolumeArray) ToStoredIscsiVolumeArrayOutputWithContext(ctx context.Context) StoredIscsiVolumeArrayOutput { 366 return pulumi.ToOutputWithContext(ctx, i).(StoredIscsiVolumeArrayOutput) 367 } 368 369 // StoredIscsiVolumeMapInput is an input type that accepts StoredIscsiVolumeMap and StoredIscsiVolumeMapOutput values. 370 // You can construct a concrete instance of `StoredIscsiVolumeMapInput` via: 371 // 372 // StoredIscsiVolumeMap{ "key": StoredIscsiVolumeArgs{...} } 373 type StoredIscsiVolumeMapInput interface { 374 pulumi.Input 375 376 ToStoredIscsiVolumeMapOutput() StoredIscsiVolumeMapOutput 377 ToStoredIscsiVolumeMapOutputWithContext(context.Context) StoredIscsiVolumeMapOutput 378 } 379 380 type StoredIscsiVolumeMap map[string]StoredIscsiVolumeInput 381 382 func (StoredIscsiVolumeMap) ElementType() reflect.Type { 383 return reflect.TypeOf((*map[string]*StoredIscsiVolume)(nil)).Elem() 384 } 385 386 func (i StoredIscsiVolumeMap) ToStoredIscsiVolumeMapOutput() StoredIscsiVolumeMapOutput { 387 return i.ToStoredIscsiVolumeMapOutputWithContext(context.Background()) 388 } 389 390 func (i StoredIscsiVolumeMap) ToStoredIscsiVolumeMapOutputWithContext(ctx context.Context) StoredIscsiVolumeMapOutput { 391 return pulumi.ToOutputWithContext(ctx, i).(StoredIscsiVolumeMapOutput) 392 } 393 394 type StoredIscsiVolumeOutput struct{ *pulumi.OutputState } 395 396 func (StoredIscsiVolumeOutput) ElementType() reflect.Type { 397 return reflect.TypeOf((**StoredIscsiVolume)(nil)).Elem() 398 } 399 400 func (o StoredIscsiVolumeOutput) ToStoredIscsiVolumeOutput() StoredIscsiVolumeOutput { 401 return o 402 } 403 404 func (o StoredIscsiVolumeOutput) ToStoredIscsiVolumeOutputWithContext(ctx context.Context) StoredIscsiVolumeOutput { 405 return o 406 } 407 408 // Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`. 409 func (o StoredIscsiVolumeOutput) Arn() pulumi.StringOutput { 410 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 411 } 412 413 // Whether mutual CHAP is enabled for the iSCSI target. 414 func (o StoredIscsiVolumeOutput) ChapEnabled() pulumi.BoolOutput { 415 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.BoolOutput { return v.ChapEnabled }).(pulumi.BoolOutput) 416 } 417 418 // The unique identifier for the gateway local disk that is configured as a stored volume. 419 func (o StoredIscsiVolumeOutput) DiskId() pulumi.StringOutput { 420 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.DiskId }).(pulumi.StringOutput) 421 } 422 423 // The Amazon Resource Name (ARN) of the gateway. 424 func (o StoredIscsiVolumeOutput) GatewayArn() pulumi.StringOutput { 425 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.GatewayArn }).(pulumi.StringOutput) 426 } 427 428 // `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional. 429 func (o StoredIscsiVolumeOutput) KmsEncrypted() pulumi.BoolPtrOutput { 430 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.BoolPtrOutput { return v.KmsEncrypted }).(pulumi.BoolPtrOutput) 431 } 432 433 // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`. 434 func (o StoredIscsiVolumeOutput) KmsKey() pulumi.StringPtrOutput { 435 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringPtrOutput { return v.KmsKey }).(pulumi.StringPtrOutput) 436 } 437 438 // Logical disk number. 439 func (o StoredIscsiVolumeOutput) LunNumber() pulumi.IntOutput { 440 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.IntOutput { return v.LunNumber }).(pulumi.IntOutput) 441 } 442 443 // The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. 444 func (o StoredIscsiVolumeOutput) NetworkInterfaceId() pulumi.StringOutput { 445 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.NetworkInterfaceId }).(pulumi.StringOutput) 446 } 447 448 // The port used to communicate with iSCSI targets. 449 func (o StoredIscsiVolumeOutput) NetworkInterfacePort() pulumi.IntOutput { 450 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.IntOutput { return v.NetworkInterfacePort }).(pulumi.IntOutput) 451 } 452 453 // Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume. 454 func (o StoredIscsiVolumeOutput) PreserveExistingData() pulumi.BoolOutput { 455 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.BoolOutput { return v.PreserveExistingData }).(pulumi.BoolOutput) 456 } 457 458 // The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`. 459 func (o StoredIscsiVolumeOutput) SnapshotId() pulumi.StringPtrOutput { 460 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringPtrOutput { return v.SnapshotId }).(pulumi.StringPtrOutput) 461 } 462 463 // Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 464 func (o StoredIscsiVolumeOutput) Tags() pulumi.StringMapOutput { 465 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 466 } 467 468 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 469 // 470 // Deprecated: Please use `tags` instead. 471 func (o StoredIscsiVolumeOutput) TagsAll() pulumi.StringMapOutput { 472 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 473 } 474 475 // Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`. 476 func (o StoredIscsiVolumeOutput) TargetArn() pulumi.StringOutput { 477 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.TargetArn }).(pulumi.StringOutput) 478 } 479 480 // The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway. 481 func (o StoredIscsiVolumeOutput) TargetName() pulumi.StringOutput { 482 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.TargetName }).(pulumi.StringOutput) 483 } 484 485 // A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway. 486 func (o StoredIscsiVolumeOutput) VolumeAttachmentStatus() pulumi.StringOutput { 487 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.VolumeAttachmentStatus }).(pulumi.StringOutput) 488 } 489 490 // Volume ID, e.g., `vol-12345678`. 491 func (o StoredIscsiVolumeOutput) VolumeId() pulumi.StringOutput { 492 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.VolumeId }).(pulumi.StringOutput) 493 } 494 495 // The size of the data stored on the volume in bytes. 496 func (o StoredIscsiVolumeOutput) VolumeSizeInBytes() pulumi.IntOutput { 497 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.IntOutput { return v.VolumeSizeInBytes }).(pulumi.IntOutput) 498 } 499 500 // indicates the state of the storage volume. 501 func (o StoredIscsiVolumeOutput) VolumeStatus() pulumi.StringOutput { 502 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.VolumeStatus }).(pulumi.StringOutput) 503 } 504 505 // indicates the type of the volume. 506 func (o StoredIscsiVolumeOutput) VolumeType() pulumi.StringOutput { 507 return o.ApplyT(func(v *StoredIscsiVolume) pulumi.StringOutput { return v.VolumeType }).(pulumi.StringOutput) 508 } 509 510 type StoredIscsiVolumeArrayOutput struct{ *pulumi.OutputState } 511 512 func (StoredIscsiVolumeArrayOutput) ElementType() reflect.Type { 513 return reflect.TypeOf((*[]*StoredIscsiVolume)(nil)).Elem() 514 } 515 516 func (o StoredIscsiVolumeArrayOutput) ToStoredIscsiVolumeArrayOutput() StoredIscsiVolumeArrayOutput { 517 return o 518 } 519 520 func (o StoredIscsiVolumeArrayOutput) ToStoredIscsiVolumeArrayOutputWithContext(ctx context.Context) StoredIscsiVolumeArrayOutput { 521 return o 522 } 523 524 func (o StoredIscsiVolumeArrayOutput) Index(i pulumi.IntInput) StoredIscsiVolumeOutput { 525 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StoredIscsiVolume { 526 return vs[0].([]*StoredIscsiVolume)[vs[1].(int)] 527 }).(StoredIscsiVolumeOutput) 528 } 529 530 type StoredIscsiVolumeMapOutput struct{ *pulumi.OutputState } 531 532 func (StoredIscsiVolumeMapOutput) ElementType() reflect.Type { 533 return reflect.TypeOf((*map[string]*StoredIscsiVolume)(nil)).Elem() 534 } 535 536 func (o StoredIscsiVolumeMapOutput) ToStoredIscsiVolumeMapOutput() StoredIscsiVolumeMapOutput { 537 return o 538 } 539 540 func (o StoredIscsiVolumeMapOutput) ToStoredIscsiVolumeMapOutputWithContext(ctx context.Context) StoredIscsiVolumeMapOutput { 541 return o 542 } 543 544 func (o StoredIscsiVolumeMapOutput) MapIndex(k pulumi.StringInput) StoredIscsiVolumeOutput { 545 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StoredIscsiVolume { 546 return vs[0].(map[string]*StoredIscsiVolume)[vs[1].(string)] 547 }).(StoredIscsiVolumeOutput) 548 } 549 550 func init() { 551 pulumi.RegisterInputType(reflect.TypeOf((*StoredIscsiVolumeInput)(nil)).Elem(), &StoredIscsiVolume{}) 552 pulumi.RegisterInputType(reflect.TypeOf((*StoredIscsiVolumeArrayInput)(nil)).Elem(), StoredIscsiVolumeArray{}) 553 pulumi.RegisterInputType(reflect.TypeOf((*StoredIscsiVolumeMapInput)(nil)).Elem(), StoredIscsiVolumeMap{}) 554 pulumi.RegisterOutputType(StoredIscsiVolumeOutput{}) 555 pulumi.RegisterOutputType(StoredIscsiVolumeArrayOutput{}) 556 pulumi.RegisterOutputType(StoredIscsiVolumeMapOutput{}) 557 }