github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/datasync/locationObjectStorage.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 datasync
     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 a Object Storage Location within AWS DataSync.
    16  //
    17  // > **NOTE:** The DataSync Agents must be available before creating this resource.
    18  //
    19  // ## Example Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := datasync.NewLocationObjectStorage(ctx, "example", &datasync.LocationObjectStorageArgs{
    35  //				AgentArns: pulumi.StringArray{
    36  //					exampleAwsDatasyncAgent.Arn,
    37  //				},
    38  //				ServerHostname: pulumi.String("example"),
    39  //				BucketName:     pulumi.String("example"),
    40  //			})
    41  //			if err != nil {
    42  //				return err
    43  //			}
    44  //			return nil
    45  //		})
    46  //	}
    47  //
    48  // ```
    49  // <!--End PulumiCodeChooser -->
    50  //
    51  // ## Import
    52  //
    53  // Using `pulumi import`, import `aws_datasync_location_object_storage` using the Amazon Resource Name (ARN). For example:
    54  //
    55  // ```sh
    56  // $ pulumi import aws:datasync/locationObjectStorage:LocationObjectStorage example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567
    57  // ```
    58  type LocationObjectStorage struct {
    59  	pulumi.CustomResourceState
    60  
    61  	// The access key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
    62  	AccessKey pulumi.StringPtrOutput `pulumi:"accessKey"`
    63  	// A list of DataSync Agent ARNs with which this location will be associated.
    64  	AgentArns pulumi.StringArrayOutput `pulumi:"agentArns"`
    65  	// Amazon Resource Name (ARN) of the DataSync Location.
    66  	Arn pulumi.StringOutput `pulumi:"arn"`
    67  	// The bucket on the self-managed object storage server that is used to read data from.
    68  	BucketName pulumi.StringOutput `pulumi:"bucketName"`
    69  	// The secret key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
    70  	SecretKey pulumi.StringPtrOutput `pulumi:"secretKey"`
    71  	// Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem string. The certificate can be up to 32768 bytes (before Base64 encoding).
    72  	ServerCertificate pulumi.StringPtrOutput `pulumi:"serverCertificate"`
    73  	// The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server. An agent uses this host name to mount the object storage server in a network.
    74  	ServerHostname pulumi.StringOutput `pulumi:"serverHostname"`
    75  	// The port that your self-managed object storage server accepts inbound network traffic on. The server port is set by default to TCP 80 (`HTTP`) or TCP 443 (`HTTPS`). You can specify a custom port if your self-managed object storage server requires one.
    76  	ServerPort pulumi.IntPtrOutput `pulumi:"serverPort"`
    77  	// The protocol that the object storage server uses to communicate. Valid values are `HTTP` or `HTTPS`.
    78  	ServerProtocol pulumi.StringPtrOutput `pulumi:"serverProtocol"`
    79  	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
    80  	Subdirectory pulumi.StringOutput `pulumi:"subdirectory"`
    81  	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    82  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    83  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    84  	//
    85  	// Deprecated: Please use `tags` instead.
    86  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    87  	// The URL of the Object Storage location that was described.
    88  	Uri pulumi.StringOutput `pulumi:"uri"`
    89  }
    90  
    91  // NewLocationObjectStorage registers a new resource with the given unique name, arguments, and options.
    92  func NewLocationObjectStorage(ctx *pulumi.Context,
    93  	name string, args *LocationObjectStorageArgs, opts ...pulumi.ResourceOption) (*LocationObjectStorage, error) {
    94  	if args == nil {
    95  		return nil, errors.New("missing one or more required arguments")
    96  	}
    97  
    98  	if args.AgentArns == nil {
    99  		return nil, errors.New("invalid value for required argument 'AgentArns'")
   100  	}
   101  	if args.BucketName == nil {
   102  		return nil, errors.New("invalid value for required argument 'BucketName'")
   103  	}
   104  	if args.ServerHostname == nil {
   105  		return nil, errors.New("invalid value for required argument 'ServerHostname'")
   106  	}
   107  	if args.SecretKey != nil {
   108  		args.SecretKey = pulumi.ToSecret(args.SecretKey).(pulumi.StringPtrInput)
   109  	}
   110  	secrets := pulumi.AdditionalSecretOutputs([]string{
   111  		"secretKey",
   112  	})
   113  	opts = append(opts, secrets)
   114  	opts = internal.PkgResourceDefaultOpts(opts)
   115  	var resource LocationObjectStorage
   116  	err := ctx.RegisterResource("aws:datasync/locationObjectStorage:LocationObjectStorage", name, args, &resource, opts...)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	return &resource, nil
   121  }
   122  
   123  // GetLocationObjectStorage gets an existing LocationObjectStorage resource's state with the given name, ID, and optional
   124  // state properties that are used to uniquely qualify the lookup (nil if not required).
   125  func GetLocationObjectStorage(ctx *pulumi.Context,
   126  	name string, id pulumi.IDInput, state *LocationObjectStorageState, opts ...pulumi.ResourceOption) (*LocationObjectStorage, error) {
   127  	var resource LocationObjectStorage
   128  	err := ctx.ReadResource("aws:datasync/locationObjectStorage:LocationObjectStorage", name, id, state, &resource, opts...)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &resource, nil
   133  }
   134  
   135  // Input properties used for looking up and filtering LocationObjectStorage resources.
   136  type locationObjectStorageState struct {
   137  	// The access key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   138  	AccessKey *string `pulumi:"accessKey"`
   139  	// A list of DataSync Agent ARNs with which this location will be associated.
   140  	AgentArns []string `pulumi:"agentArns"`
   141  	// Amazon Resource Name (ARN) of the DataSync Location.
   142  	Arn *string `pulumi:"arn"`
   143  	// The bucket on the self-managed object storage server that is used to read data from.
   144  	BucketName *string `pulumi:"bucketName"`
   145  	// The secret key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   146  	SecretKey *string `pulumi:"secretKey"`
   147  	// Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem string. The certificate can be up to 32768 bytes (before Base64 encoding).
   148  	ServerCertificate *string `pulumi:"serverCertificate"`
   149  	// The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server. An agent uses this host name to mount the object storage server in a network.
   150  	ServerHostname *string `pulumi:"serverHostname"`
   151  	// The port that your self-managed object storage server accepts inbound network traffic on. The server port is set by default to TCP 80 (`HTTP`) or TCP 443 (`HTTPS`). You can specify a custom port if your self-managed object storage server requires one.
   152  	ServerPort *int `pulumi:"serverPort"`
   153  	// The protocol that the object storage server uses to communicate. Valid values are `HTTP` or `HTTPS`.
   154  	ServerProtocol *string `pulumi:"serverProtocol"`
   155  	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
   156  	Subdirectory *string `pulumi:"subdirectory"`
   157  	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   158  	Tags map[string]string `pulumi:"tags"`
   159  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   160  	//
   161  	// Deprecated: Please use `tags` instead.
   162  	TagsAll map[string]string `pulumi:"tagsAll"`
   163  	// The URL of the Object Storage location that was described.
   164  	Uri *string `pulumi:"uri"`
   165  }
   166  
   167  type LocationObjectStorageState struct {
   168  	// The access key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   169  	AccessKey pulumi.StringPtrInput
   170  	// A list of DataSync Agent ARNs with which this location will be associated.
   171  	AgentArns pulumi.StringArrayInput
   172  	// Amazon Resource Name (ARN) of the DataSync Location.
   173  	Arn pulumi.StringPtrInput
   174  	// The bucket on the self-managed object storage server that is used to read data from.
   175  	BucketName pulumi.StringPtrInput
   176  	// The secret key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   177  	SecretKey pulumi.StringPtrInput
   178  	// Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem string. The certificate can be up to 32768 bytes (before Base64 encoding).
   179  	ServerCertificate pulumi.StringPtrInput
   180  	// The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server. An agent uses this host name to mount the object storage server in a network.
   181  	ServerHostname pulumi.StringPtrInput
   182  	// The port that your self-managed object storage server accepts inbound network traffic on. The server port is set by default to TCP 80 (`HTTP`) or TCP 443 (`HTTPS`). You can specify a custom port if your self-managed object storage server requires one.
   183  	ServerPort pulumi.IntPtrInput
   184  	// The protocol that the object storage server uses to communicate. Valid values are `HTTP` or `HTTPS`.
   185  	ServerProtocol pulumi.StringPtrInput
   186  	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
   187  	Subdirectory pulumi.StringPtrInput
   188  	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   189  	Tags pulumi.StringMapInput
   190  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   191  	//
   192  	// Deprecated: Please use `tags` instead.
   193  	TagsAll pulumi.StringMapInput
   194  	// The URL of the Object Storage location that was described.
   195  	Uri pulumi.StringPtrInput
   196  }
   197  
   198  func (LocationObjectStorageState) ElementType() reflect.Type {
   199  	return reflect.TypeOf((*locationObjectStorageState)(nil)).Elem()
   200  }
   201  
   202  type locationObjectStorageArgs struct {
   203  	// The access key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   204  	AccessKey *string `pulumi:"accessKey"`
   205  	// A list of DataSync Agent ARNs with which this location will be associated.
   206  	AgentArns []string `pulumi:"agentArns"`
   207  	// The bucket on the self-managed object storage server that is used to read data from.
   208  	BucketName string `pulumi:"bucketName"`
   209  	// The secret key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   210  	SecretKey *string `pulumi:"secretKey"`
   211  	// Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem string. The certificate can be up to 32768 bytes (before Base64 encoding).
   212  	ServerCertificate *string `pulumi:"serverCertificate"`
   213  	// The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server. An agent uses this host name to mount the object storage server in a network.
   214  	ServerHostname string `pulumi:"serverHostname"`
   215  	// The port that your self-managed object storage server accepts inbound network traffic on. The server port is set by default to TCP 80 (`HTTP`) or TCP 443 (`HTTPS`). You can specify a custom port if your self-managed object storage server requires one.
   216  	ServerPort *int `pulumi:"serverPort"`
   217  	// The protocol that the object storage server uses to communicate. Valid values are `HTTP` or `HTTPS`.
   218  	ServerProtocol *string `pulumi:"serverProtocol"`
   219  	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
   220  	Subdirectory *string `pulumi:"subdirectory"`
   221  	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   222  	Tags map[string]string `pulumi:"tags"`
   223  }
   224  
   225  // The set of arguments for constructing a LocationObjectStorage resource.
   226  type LocationObjectStorageArgs struct {
   227  	// The access key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   228  	AccessKey pulumi.StringPtrInput
   229  	// A list of DataSync Agent ARNs with which this location will be associated.
   230  	AgentArns pulumi.StringArrayInput
   231  	// The bucket on the self-managed object storage server that is used to read data from.
   232  	BucketName pulumi.StringInput
   233  	// The secret key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   234  	SecretKey pulumi.StringPtrInput
   235  	// Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem string. The certificate can be up to 32768 bytes (before Base64 encoding).
   236  	ServerCertificate pulumi.StringPtrInput
   237  	// The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server. An agent uses this host name to mount the object storage server in a network.
   238  	ServerHostname pulumi.StringInput
   239  	// The port that your self-managed object storage server accepts inbound network traffic on. The server port is set by default to TCP 80 (`HTTP`) or TCP 443 (`HTTPS`). You can specify a custom port if your self-managed object storage server requires one.
   240  	ServerPort pulumi.IntPtrInput
   241  	// The protocol that the object storage server uses to communicate. Valid values are `HTTP` or `HTTPS`.
   242  	ServerProtocol pulumi.StringPtrInput
   243  	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
   244  	Subdirectory pulumi.StringPtrInput
   245  	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   246  	Tags pulumi.StringMapInput
   247  }
   248  
   249  func (LocationObjectStorageArgs) ElementType() reflect.Type {
   250  	return reflect.TypeOf((*locationObjectStorageArgs)(nil)).Elem()
   251  }
   252  
   253  type LocationObjectStorageInput interface {
   254  	pulumi.Input
   255  
   256  	ToLocationObjectStorageOutput() LocationObjectStorageOutput
   257  	ToLocationObjectStorageOutputWithContext(ctx context.Context) LocationObjectStorageOutput
   258  }
   259  
   260  func (*LocationObjectStorage) ElementType() reflect.Type {
   261  	return reflect.TypeOf((**LocationObjectStorage)(nil)).Elem()
   262  }
   263  
   264  func (i *LocationObjectStorage) ToLocationObjectStorageOutput() LocationObjectStorageOutput {
   265  	return i.ToLocationObjectStorageOutputWithContext(context.Background())
   266  }
   267  
   268  func (i *LocationObjectStorage) ToLocationObjectStorageOutputWithContext(ctx context.Context) LocationObjectStorageOutput {
   269  	return pulumi.ToOutputWithContext(ctx, i).(LocationObjectStorageOutput)
   270  }
   271  
   272  // LocationObjectStorageArrayInput is an input type that accepts LocationObjectStorageArray and LocationObjectStorageArrayOutput values.
   273  // You can construct a concrete instance of `LocationObjectStorageArrayInput` via:
   274  //
   275  //	LocationObjectStorageArray{ LocationObjectStorageArgs{...} }
   276  type LocationObjectStorageArrayInput interface {
   277  	pulumi.Input
   278  
   279  	ToLocationObjectStorageArrayOutput() LocationObjectStorageArrayOutput
   280  	ToLocationObjectStorageArrayOutputWithContext(context.Context) LocationObjectStorageArrayOutput
   281  }
   282  
   283  type LocationObjectStorageArray []LocationObjectStorageInput
   284  
   285  func (LocationObjectStorageArray) ElementType() reflect.Type {
   286  	return reflect.TypeOf((*[]*LocationObjectStorage)(nil)).Elem()
   287  }
   288  
   289  func (i LocationObjectStorageArray) ToLocationObjectStorageArrayOutput() LocationObjectStorageArrayOutput {
   290  	return i.ToLocationObjectStorageArrayOutputWithContext(context.Background())
   291  }
   292  
   293  func (i LocationObjectStorageArray) ToLocationObjectStorageArrayOutputWithContext(ctx context.Context) LocationObjectStorageArrayOutput {
   294  	return pulumi.ToOutputWithContext(ctx, i).(LocationObjectStorageArrayOutput)
   295  }
   296  
   297  // LocationObjectStorageMapInput is an input type that accepts LocationObjectStorageMap and LocationObjectStorageMapOutput values.
   298  // You can construct a concrete instance of `LocationObjectStorageMapInput` via:
   299  //
   300  //	LocationObjectStorageMap{ "key": LocationObjectStorageArgs{...} }
   301  type LocationObjectStorageMapInput interface {
   302  	pulumi.Input
   303  
   304  	ToLocationObjectStorageMapOutput() LocationObjectStorageMapOutput
   305  	ToLocationObjectStorageMapOutputWithContext(context.Context) LocationObjectStorageMapOutput
   306  }
   307  
   308  type LocationObjectStorageMap map[string]LocationObjectStorageInput
   309  
   310  func (LocationObjectStorageMap) ElementType() reflect.Type {
   311  	return reflect.TypeOf((*map[string]*LocationObjectStorage)(nil)).Elem()
   312  }
   313  
   314  func (i LocationObjectStorageMap) ToLocationObjectStorageMapOutput() LocationObjectStorageMapOutput {
   315  	return i.ToLocationObjectStorageMapOutputWithContext(context.Background())
   316  }
   317  
   318  func (i LocationObjectStorageMap) ToLocationObjectStorageMapOutputWithContext(ctx context.Context) LocationObjectStorageMapOutput {
   319  	return pulumi.ToOutputWithContext(ctx, i).(LocationObjectStorageMapOutput)
   320  }
   321  
   322  type LocationObjectStorageOutput struct{ *pulumi.OutputState }
   323  
   324  func (LocationObjectStorageOutput) ElementType() reflect.Type {
   325  	return reflect.TypeOf((**LocationObjectStorage)(nil)).Elem()
   326  }
   327  
   328  func (o LocationObjectStorageOutput) ToLocationObjectStorageOutput() LocationObjectStorageOutput {
   329  	return o
   330  }
   331  
   332  func (o LocationObjectStorageOutput) ToLocationObjectStorageOutputWithContext(ctx context.Context) LocationObjectStorageOutput {
   333  	return o
   334  }
   335  
   336  // The access key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   337  func (o LocationObjectStorageOutput) AccessKey() pulumi.StringPtrOutput {
   338  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringPtrOutput { return v.AccessKey }).(pulumi.StringPtrOutput)
   339  }
   340  
   341  // A list of DataSync Agent ARNs with which this location will be associated.
   342  func (o LocationObjectStorageOutput) AgentArns() pulumi.StringArrayOutput {
   343  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringArrayOutput { return v.AgentArns }).(pulumi.StringArrayOutput)
   344  }
   345  
   346  // Amazon Resource Name (ARN) of the DataSync Location.
   347  func (o LocationObjectStorageOutput) Arn() pulumi.StringOutput {
   348  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   349  }
   350  
   351  // The bucket on the self-managed object storage server that is used to read data from.
   352  func (o LocationObjectStorageOutput) BucketName() pulumi.StringOutput {
   353  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringOutput { return v.BucketName }).(pulumi.StringOutput)
   354  }
   355  
   356  // The secret key is used if credentials are required to access the self-managed object storage server. If your object storage requires a user name and password to authenticate, use `accessKey` and `secretKey` to provide the user name and password, respectively.
   357  func (o LocationObjectStorageOutput) SecretKey() pulumi.StringPtrOutput {
   358  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringPtrOutput { return v.SecretKey }).(pulumi.StringPtrOutput)
   359  }
   360  
   361  // Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem string. The certificate can be up to 32768 bytes (before Base64 encoding).
   362  func (o LocationObjectStorageOutput) ServerCertificate() pulumi.StringPtrOutput {
   363  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringPtrOutput { return v.ServerCertificate }).(pulumi.StringPtrOutput)
   364  }
   365  
   366  // The name of the self-managed object storage server. This value is the IP address or Domain Name Service (DNS) name of the object storage server. An agent uses this host name to mount the object storage server in a network.
   367  func (o LocationObjectStorageOutput) ServerHostname() pulumi.StringOutput {
   368  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringOutput { return v.ServerHostname }).(pulumi.StringOutput)
   369  }
   370  
   371  // The port that your self-managed object storage server accepts inbound network traffic on. The server port is set by default to TCP 80 (`HTTP`) or TCP 443 (`HTTPS`). You can specify a custom port if your self-managed object storage server requires one.
   372  func (o LocationObjectStorageOutput) ServerPort() pulumi.IntPtrOutput {
   373  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.IntPtrOutput { return v.ServerPort }).(pulumi.IntPtrOutput)
   374  }
   375  
   376  // The protocol that the object storage server uses to communicate. Valid values are `HTTP` or `HTTPS`.
   377  func (o LocationObjectStorageOutput) ServerProtocol() pulumi.StringPtrOutput {
   378  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringPtrOutput { return v.ServerProtocol }).(pulumi.StringPtrOutput)
   379  }
   380  
   381  // A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
   382  func (o LocationObjectStorageOutput) Subdirectory() pulumi.StringOutput {
   383  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringOutput { return v.Subdirectory }).(pulumi.StringOutput)
   384  }
   385  
   386  // Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   387  func (o LocationObjectStorageOutput) Tags() pulumi.StringMapOutput {
   388  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   389  }
   390  
   391  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   392  //
   393  // Deprecated: Please use `tags` instead.
   394  func (o LocationObjectStorageOutput) TagsAll() pulumi.StringMapOutput {
   395  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   396  }
   397  
   398  // The URL of the Object Storage location that was described.
   399  func (o LocationObjectStorageOutput) Uri() pulumi.StringOutput {
   400  	return o.ApplyT(func(v *LocationObjectStorage) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput)
   401  }
   402  
   403  type LocationObjectStorageArrayOutput struct{ *pulumi.OutputState }
   404  
   405  func (LocationObjectStorageArrayOutput) ElementType() reflect.Type {
   406  	return reflect.TypeOf((*[]*LocationObjectStorage)(nil)).Elem()
   407  }
   408  
   409  func (o LocationObjectStorageArrayOutput) ToLocationObjectStorageArrayOutput() LocationObjectStorageArrayOutput {
   410  	return o
   411  }
   412  
   413  func (o LocationObjectStorageArrayOutput) ToLocationObjectStorageArrayOutputWithContext(ctx context.Context) LocationObjectStorageArrayOutput {
   414  	return o
   415  }
   416  
   417  func (o LocationObjectStorageArrayOutput) Index(i pulumi.IntInput) LocationObjectStorageOutput {
   418  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LocationObjectStorage {
   419  		return vs[0].([]*LocationObjectStorage)[vs[1].(int)]
   420  	}).(LocationObjectStorageOutput)
   421  }
   422  
   423  type LocationObjectStorageMapOutput struct{ *pulumi.OutputState }
   424  
   425  func (LocationObjectStorageMapOutput) ElementType() reflect.Type {
   426  	return reflect.TypeOf((*map[string]*LocationObjectStorage)(nil)).Elem()
   427  }
   428  
   429  func (o LocationObjectStorageMapOutput) ToLocationObjectStorageMapOutput() LocationObjectStorageMapOutput {
   430  	return o
   431  }
   432  
   433  func (o LocationObjectStorageMapOutput) ToLocationObjectStorageMapOutputWithContext(ctx context.Context) LocationObjectStorageMapOutput {
   434  	return o
   435  }
   436  
   437  func (o LocationObjectStorageMapOutput) MapIndex(k pulumi.StringInput) LocationObjectStorageOutput {
   438  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LocationObjectStorage {
   439  		return vs[0].(map[string]*LocationObjectStorage)[vs[1].(string)]
   440  	}).(LocationObjectStorageOutput)
   441  }
   442  
   443  func init() {
   444  	pulumi.RegisterInputType(reflect.TypeOf((*LocationObjectStorageInput)(nil)).Elem(), &LocationObjectStorage{})
   445  	pulumi.RegisterInputType(reflect.TypeOf((*LocationObjectStorageArrayInput)(nil)).Elem(), LocationObjectStorageArray{})
   446  	pulumi.RegisterInputType(reflect.TypeOf((*LocationObjectStorageMapInput)(nil)).Elem(), LocationObjectStorageMap{})
   447  	pulumi.RegisterOutputType(LocationObjectStorageOutput{})
   448  	pulumi.RegisterOutputType(LocationObjectStorageArrayOutput{})
   449  	pulumi.RegisterOutputType(LocationObjectStorageMapOutput{})
   450  }