github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/datasync/locationHdfs.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 an HDFS 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.NewLocationHdfs(ctx, "example", &datasync.LocationHdfsArgs{ 35 // AgentArns: pulumi.StringArray{ 36 // exampleAwsDatasyncAgent.Arn, 37 // }, 38 // AuthenticationType: pulumi.String("SIMPLE"), 39 // SimpleUser: pulumi.String("example"), 40 // NameNodes: datasync.LocationHdfsNameNodeArray{ 41 // &datasync.LocationHdfsNameNodeArgs{ 42 // Hostname: pulumi.Any(exampleAwsInstance.PrivateDns), 43 // Port: pulumi.Int(80), 44 // }, 45 // }, 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // return nil 51 // }) 52 // } 53 // 54 // ``` 55 // <!--End PulumiCodeChooser --> 56 // 57 // ### Kerberos Authentication 58 // 59 // <!--Start PulumiCodeChooser --> 60 // ```go 61 // package main 62 // 63 // import ( 64 // 65 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync" 66 // "github.com/pulumi/pulumi-std/sdk/go/std" 67 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 68 // 69 // ) 70 // 71 // func main() { 72 // pulumi.Run(func(ctx *pulumi.Context) error { 73 // invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{ 74 // Input: "user.keytab", 75 // }, nil) 76 // if err != nil { 77 // return err 78 // } 79 // invokeFile1, err := std.File(ctx, &std.FileArgs{ 80 // Input: "krb5.conf", 81 // }, nil) 82 // if err != nil { 83 // return err 84 // } 85 // _, err = datasync.NewLocationHdfs(ctx, "example", &datasync.LocationHdfsArgs{ 86 // AgentArns: pulumi.StringArray{ 87 // exampleAwsDatasyncAgent.Arn, 88 // }, 89 // AuthenticationType: pulumi.String("KERBEROS"), 90 // NameNodes: datasync.LocationHdfsNameNodeArray{ 91 // &datasync.LocationHdfsNameNodeArgs{ 92 // Hostname: pulumi.Any(exampleAwsInstance.PrivateDns), 93 // Port: pulumi.Int(80), 94 // }, 95 // }, 96 // KerberosPrincipal: pulumi.String("user@example.com"), 97 // KerberosKeytabBase64: invokeFilebase64.Result, 98 // KerberosKrb5Conf: invokeFile1.Result, 99 // }) 100 // if err != nil { 101 // return err 102 // } 103 // return nil 104 // }) 105 // } 106 // 107 // ``` 108 // <!--End PulumiCodeChooser --> 109 // 110 // ## Import 111 // 112 // Using `pulumi import`, import `aws_datasync_location_hdfs` using the Amazon Resource Name (ARN). For example: 113 // 114 // ```sh 115 // $ pulumi import aws:datasync/locationHdfs:LocationHdfs example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567 116 // ``` 117 type LocationHdfs struct { 118 pulumi.CustomResourceState 119 120 // A list of DataSync Agent ARNs with which this location will be associated. 121 AgentArns pulumi.StringArrayOutput `pulumi:"agentArns"` 122 // Amazon Resource Name (ARN) of the DataSync Location. 123 Arn pulumi.StringOutput `pulumi:"arn"` 124 // The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`. 125 AuthenticationType pulumi.StringPtrOutput `pulumi:"authenticationType"` 126 // The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). 127 BlockSize pulumi.IntPtrOutput `pulumi:"blockSize"` 128 // The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Use `kerberosKeytabBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytabBase64`) is required. 129 KerberosKeytab pulumi.StringPtrOutput `pulumi:"kerberosKeytab"` 130 // Use instead of `kerberosKeytab` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytab`) is required. 131 KerberosKeytabBase64 pulumi.StringPtrOutput `pulumi:"kerberosKeytabBase64"` 132 // The krb5.conf file that contains the Kerberos configuration information. Use `kerberosKrb5ConfBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5ConfBase64`) is required. 133 KerberosKrb5Conf pulumi.StringPtrOutput `pulumi:"kerberosKrb5Conf"` 134 // Use instead of `kerberosKrb5Conf` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5Conf`) is required. 135 KerberosKrb5ConfBase64 pulumi.StringPtrOutput `pulumi:"kerberosKrb5ConfBase64"` 136 // The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required. 137 KerberosPrincipal pulumi.StringPtrOutput `pulumi:"kerberosPrincipal"` 138 // The URI of the HDFS cluster's Key Management Server (KMS). 139 KmsKeyProviderUri pulumi.StringPtrOutput `pulumi:"kmsKeyProviderUri"` 140 // The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below. 141 NameNodes LocationHdfsNameNodeArrayOutput `pulumi:"nameNodes"` 142 // The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `qopConfiguration` isn't specified, `rpcProtection` and `dataTransferProtection` default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value. See configuration below. 143 QopConfiguration LocationHdfsQopConfigurationOutput `pulumi:"qopConfiguration"` 144 // The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes. 145 ReplicationFactor pulumi.IntPtrOutput `pulumi:"replicationFactor"` 146 // The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required. 147 SimpleUser pulumi.StringPtrOutput `pulumi:"simpleUser"` 148 // 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 /. 149 Subdirectory pulumi.StringPtrOutput `pulumi:"subdirectory"` 150 // 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. 151 Tags pulumi.StringMapOutput `pulumi:"tags"` 152 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 153 // 154 // Deprecated: Please use `tags` instead. 155 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 156 Uri pulumi.StringOutput `pulumi:"uri"` 157 } 158 159 // NewLocationHdfs registers a new resource with the given unique name, arguments, and options. 160 func NewLocationHdfs(ctx *pulumi.Context, 161 name string, args *LocationHdfsArgs, opts ...pulumi.ResourceOption) (*LocationHdfs, error) { 162 if args == nil { 163 return nil, errors.New("missing one or more required arguments") 164 } 165 166 if args.AgentArns == nil { 167 return nil, errors.New("invalid value for required argument 'AgentArns'") 168 } 169 if args.NameNodes == nil { 170 return nil, errors.New("invalid value for required argument 'NameNodes'") 171 } 172 opts = internal.PkgResourceDefaultOpts(opts) 173 var resource LocationHdfs 174 err := ctx.RegisterResource("aws:datasync/locationHdfs:LocationHdfs", name, args, &resource, opts...) 175 if err != nil { 176 return nil, err 177 } 178 return &resource, nil 179 } 180 181 // GetLocationHdfs gets an existing LocationHdfs resource's state with the given name, ID, and optional 182 // state properties that are used to uniquely qualify the lookup (nil if not required). 183 func GetLocationHdfs(ctx *pulumi.Context, 184 name string, id pulumi.IDInput, state *LocationHdfsState, opts ...pulumi.ResourceOption) (*LocationHdfs, error) { 185 var resource LocationHdfs 186 err := ctx.ReadResource("aws:datasync/locationHdfs:LocationHdfs", name, id, state, &resource, opts...) 187 if err != nil { 188 return nil, err 189 } 190 return &resource, nil 191 } 192 193 // Input properties used for looking up and filtering LocationHdfs resources. 194 type locationHdfsState struct { 195 // A list of DataSync Agent ARNs with which this location will be associated. 196 AgentArns []string `pulumi:"agentArns"` 197 // Amazon Resource Name (ARN) of the DataSync Location. 198 Arn *string `pulumi:"arn"` 199 // The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`. 200 AuthenticationType *string `pulumi:"authenticationType"` 201 // The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). 202 BlockSize *int `pulumi:"blockSize"` 203 // The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Use `kerberosKeytabBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytabBase64`) is required. 204 KerberosKeytab *string `pulumi:"kerberosKeytab"` 205 // Use instead of `kerberosKeytab` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytab`) is required. 206 KerberosKeytabBase64 *string `pulumi:"kerberosKeytabBase64"` 207 // The krb5.conf file that contains the Kerberos configuration information. Use `kerberosKrb5ConfBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5ConfBase64`) is required. 208 KerberosKrb5Conf *string `pulumi:"kerberosKrb5Conf"` 209 // Use instead of `kerberosKrb5Conf` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5Conf`) is required. 210 KerberosKrb5ConfBase64 *string `pulumi:"kerberosKrb5ConfBase64"` 211 // The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required. 212 KerberosPrincipal *string `pulumi:"kerberosPrincipal"` 213 // The URI of the HDFS cluster's Key Management Server (KMS). 214 KmsKeyProviderUri *string `pulumi:"kmsKeyProviderUri"` 215 // The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below. 216 NameNodes []LocationHdfsNameNode `pulumi:"nameNodes"` 217 // The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `qopConfiguration` isn't specified, `rpcProtection` and `dataTransferProtection` default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value. See configuration below. 218 QopConfiguration *LocationHdfsQopConfiguration `pulumi:"qopConfiguration"` 219 // The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes. 220 ReplicationFactor *int `pulumi:"replicationFactor"` 221 // The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required. 222 SimpleUser *string `pulumi:"simpleUser"` 223 // 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 /. 224 Subdirectory *string `pulumi:"subdirectory"` 225 // 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. 226 Tags map[string]string `pulumi:"tags"` 227 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 228 // 229 // Deprecated: Please use `tags` instead. 230 TagsAll map[string]string `pulumi:"tagsAll"` 231 Uri *string `pulumi:"uri"` 232 } 233 234 type LocationHdfsState struct { 235 // A list of DataSync Agent ARNs with which this location will be associated. 236 AgentArns pulumi.StringArrayInput 237 // Amazon Resource Name (ARN) of the DataSync Location. 238 Arn pulumi.StringPtrInput 239 // The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`. 240 AuthenticationType pulumi.StringPtrInput 241 // The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). 242 BlockSize pulumi.IntPtrInput 243 // The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Use `kerberosKeytabBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytabBase64`) is required. 244 KerberosKeytab pulumi.StringPtrInput 245 // Use instead of `kerberosKeytab` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytab`) is required. 246 KerberosKeytabBase64 pulumi.StringPtrInput 247 // The krb5.conf file that contains the Kerberos configuration information. Use `kerberosKrb5ConfBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5ConfBase64`) is required. 248 KerberosKrb5Conf pulumi.StringPtrInput 249 // Use instead of `kerberosKrb5Conf` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5Conf`) is required. 250 KerberosKrb5ConfBase64 pulumi.StringPtrInput 251 // The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required. 252 KerberosPrincipal pulumi.StringPtrInput 253 // The URI of the HDFS cluster's Key Management Server (KMS). 254 KmsKeyProviderUri pulumi.StringPtrInput 255 // The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below. 256 NameNodes LocationHdfsNameNodeArrayInput 257 // The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `qopConfiguration` isn't specified, `rpcProtection` and `dataTransferProtection` default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value. See configuration below. 258 QopConfiguration LocationHdfsQopConfigurationPtrInput 259 // The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes. 260 ReplicationFactor pulumi.IntPtrInput 261 // The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required. 262 SimpleUser pulumi.StringPtrInput 263 // 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 /. 264 Subdirectory pulumi.StringPtrInput 265 // 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. 266 Tags pulumi.StringMapInput 267 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 268 // 269 // Deprecated: Please use `tags` instead. 270 TagsAll pulumi.StringMapInput 271 Uri pulumi.StringPtrInput 272 } 273 274 func (LocationHdfsState) ElementType() reflect.Type { 275 return reflect.TypeOf((*locationHdfsState)(nil)).Elem() 276 } 277 278 type locationHdfsArgs struct { 279 // A list of DataSync Agent ARNs with which this location will be associated. 280 AgentArns []string `pulumi:"agentArns"` 281 // The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`. 282 AuthenticationType *string `pulumi:"authenticationType"` 283 // The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). 284 BlockSize *int `pulumi:"blockSize"` 285 // The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Use `kerberosKeytabBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytabBase64`) is required. 286 KerberosKeytab *string `pulumi:"kerberosKeytab"` 287 // Use instead of `kerberosKeytab` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytab`) is required. 288 KerberosKeytabBase64 *string `pulumi:"kerberosKeytabBase64"` 289 // The krb5.conf file that contains the Kerberos configuration information. Use `kerberosKrb5ConfBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5ConfBase64`) is required. 290 KerberosKrb5Conf *string `pulumi:"kerberosKrb5Conf"` 291 // Use instead of `kerberosKrb5Conf` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5Conf`) is required. 292 KerberosKrb5ConfBase64 *string `pulumi:"kerberosKrb5ConfBase64"` 293 // The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required. 294 KerberosPrincipal *string `pulumi:"kerberosPrincipal"` 295 // The URI of the HDFS cluster's Key Management Server (KMS). 296 KmsKeyProviderUri *string `pulumi:"kmsKeyProviderUri"` 297 // The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below. 298 NameNodes []LocationHdfsNameNode `pulumi:"nameNodes"` 299 // The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `qopConfiguration` isn't specified, `rpcProtection` and `dataTransferProtection` default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value. See configuration below. 300 QopConfiguration *LocationHdfsQopConfiguration `pulumi:"qopConfiguration"` 301 // The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes. 302 ReplicationFactor *int `pulumi:"replicationFactor"` 303 // The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required. 304 SimpleUser *string `pulumi:"simpleUser"` 305 // 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 /. 306 Subdirectory *string `pulumi:"subdirectory"` 307 // 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. 308 Tags map[string]string `pulumi:"tags"` 309 } 310 311 // The set of arguments for constructing a LocationHdfs resource. 312 type LocationHdfsArgs struct { 313 // A list of DataSync Agent ARNs with which this location will be associated. 314 AgentArns pulumi.StringArrayInput 315 // The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`. 316 AuthenticationType pulumi.StringPtrInput 317 // The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). 318 BlockSize pulumi.IntPtrInput 319 // The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Use `kerberosKeytabBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytabBase64`) is required. 320 KerberosKeytab pulumi.StringPtrInput 321 // Use instead of `kerberosKeytab` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytab`) is required. 322 KerberosKeytabBase64 pulumi.StringPtrInput 323 // The krb5.conf file that contains the Kerberos configuration information. Use `kerberosKrb5ConfBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5ConfBase64`) is required. 324 KerberosKrb5Conf pulumi.StringPtrInput 325 // Use instead of `kerberosKrb5Conf` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5Conf`) is required. 326 KerberosKrb5ConfBase64 pulumi.StringPtrInput 327 // The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required. 328 KerberosPrincipal pulumi.StringPtrInput 329 // The URI of the HDFS cluster's Key Management Server (KMS). 330 KmsKeyProviderUri pulumi.StringPtrInput 331 // The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below. 332 NameNodes LocationHdfsNameNodeArrayInput 333 // The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `qopConfiguration` isn't specified, `rpcProtection` and `dataTransferProtection` default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value. See configuration below. 334 QopConfiguration LocationHdfsQopConfigurationPtrInput 335 // The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes. 336 ReplicationFactor pulumi.IntPtrInput 337 // The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required. 338 SimpleUser pulumi.StringPtrInput 339 // 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 /. 340 Subdirectory pulumi.StringPtrInput 341 // 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. 342 Tags pulumi.StringMapInput 343 } 344 345 func (LocationHdfsArgs) ElementType() reflect.Type { 346 return reflect.TypeOf((*locationHdfsArgs)(nil)).Elem() 347 } 348 349 type LocationHdfsInput interface { 350 pulumi.Input 351 352 ToLocationHdfsOutput() LocationHdfsOutput 353 ToLocationHdfsOutputWithContext(ctx context.Context) LocationHdfsOutput 354 } 355 356 func (*LocationHdfs) ElementType() reflect.Type { 357 return reflect.TypeOf((**LocationHdfs)(nil)).Elem() 358 } 359 360 func (i *LocationHdfs) ToLocationHdfsOutput() LocationHdfsOutput { 361 return i.ToLocationHdfsOutputWithContext(context.Background()) 362 } 363 364 func (i *LocationHdfs) ToLocationHdfsOutputWithContext(ctx context.Context) LocationHdfsOutput { 365 return pulumi.ToOutputWithContext(ctx, i).(LocationHdfsOutput) 366 } 367 368 // LocationHdfsArrayInput is an input type that accepts LocationHdfsArray and LocationHdfsArrayOutput values. 369 // You can construct a concrete instance of `LocationHdfsArrayInput` via: 370 // 371 // LocationHdfsArray{ LocationHdfsArgs{...} } 372 type LocationHdfsArrayInput interface { 373 pulumi.Input 374 375 ToLocationHdfsArrayOutput() LocationHdfsArrayOutput 376 ToLocationHdfsArrayOutputWithContext(context.Context) LocationHdfsArrayOutput 377 } 378 379 type LocationHdfsArray []LocationHdfsInput 380 381 func (LocationHdfsArray) ElementType() reflect.Type { 382 return reflect.TypeOf((*[]*LocationHdfs)(nil)).Elem() 383 } 384 385 func (i LocationHdfsArray) ToLocationHdfsArrayOutput() LocationHdfsArrayOutput { 386 return i.ToLocationHdfsArrayOutputWithContext(context.Background()) 387 } 388 389 func (i LocationHdfsArray) ToLocationHdfsArrayOutputWithContext(ctx context.Context) LocationHdfsArrayOutput { 390 return pulumi.ToOutputWithContext(ctx, i).(LocationHdfsArrayOutput) 391 } 392 393 // LocationHdfsMapInput is an input type that accepts LocationHdfsMap and LocationHdfsMapOutput values. 394 // You can construct a concrete instance of `LocationHdfsMapInput` via: 395 // 396 // LocationHdfsMap{ "key": LocationHdfsArgs{...} } 397 type LocationHdfsMapInput interface { 398 pulumi.Input 399 400 ToLocationHdfsMapOutput() LocationHdfsMapOutput 401 ToLocationHdfsMapOutputWithContext(context.Context) LocationHdfsMapOutput 402 } 403 404 type LocationHdfsMap map[string]LocationHdfsInput 405 406 func (LocationHdfsMap) ElementType() reflect.Type { 407 return reflect.TypeOf((*map[string]*LocationHdfs)(nil)).Elem() 408 } 409 410 func (i LocationHdfsMap) ToLocationHdfsMapOutput() LocationHdfsMapOutput { 411 return i.ToLocationHdfsMapOutputWithContext(context.Background()) 412 } 413 414 func (i LocationHdfsMap) ToLocationHdfsMapOutputWithContext(ctx context.Context) LocationHdfsMapOutput { 415 return pulumi.ToOutputWithContext(ctx, i).(LocationHdfsMapOutput) 416 } 417 418 type LocationHdfsOutput struct{ *pulumi.OutputState } 419 420 func (LocationHdfsOutput) ElementType() reflect.Type { 421 return reflect.TypeOf((**LocationHdfs)(nil)).Elem() 422 } 423 424 func (o LocationHdfsOutput) ToLocationHdfsOutput() LocationHdfsOutput { 425 return o 426 } 427 428 func (o LocationHdfsOutput) ToLocationHdfsOutputWithContext(ctx context.Context) LocationHdfsOutput { 429 return o 430 } 431 432 // A list of DataSync Agent ARNs with which this location will be associated. 433 func (o LocationHdfsOutput) AgentArns() pulumi.StringArrayOutput { 434 return o.ApplyT(func(v *LocationHdfs) pulumi.StringArrayOutput { return v.AgentArns }).(pulumi.StringArrayOutput) 435 } 436 437 // Amazon Resource Name (ARN) of the DataSync Location. 438 func (o LocationHdfsOutput) Arn() pulumi.StringOutput { 439 return o.ApplyT(func(v *LocationHdfs) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 440 } 441 442 // The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`. 443 func (o LocationHdfsOutput) AuthenticationType() pulumi.StringPtrOutput { 444 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.AuthenticationType }).(pulumi.StringPtrOutput) 445 } 446 447 // The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). 448 func (o LocationHdfsOutput) BlockSize() pulumi.IntPtrOutput { 449 return o.ApplyT(func(v *LocationHdfs) pulumi.IntPtrOutput { return v.BlockSize }).(pulumi.IntPtrOutput) 450 } 451 452 // The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. Use `kerberosKeytabBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytabBase64`) is required. 453 func (o LocationHdfsOutput) KerberosKeytab() pulumi.StringPtrOutput { 454 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.KerberosKeytab }).(pulumi.StringPtrOutput) 455 } 456 457 // Use instead of `kerberosKeytab` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKeytab`) is required. 458 func (o LocationHdfsOutput) KerberosKeytabBase64() pulumi.StringPtrOutput { 459 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.KerberosKeytabBase64 }).(pulumi.StringPtrOutput) 460 } 461 462 // The krb5.conf file that contains the Kerberos configuration information. Use `kerberosKrb5ConfBase64` instead whenever the value is not a valid UTF-8 string. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5ConfBase64`) is required. 463 func (o LocationHdfsOutput) KerberosKrb5Conf() pulumi.StringPtrOutput { 464 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.KerberosKrb5Conf }).(pulumi.StringPtrOutput) 465 } 466 467 // Use instead of `kerberosKrb5Conf` to pass base64-encoded binary data directly. If `KERBEROS` is specified for `authenticationType`, this parameter (or `kerberosKrb5Conf`) is required. 468 func (o LocationHdfsOutput) KerberosKrb5ConfBase64() pulumi.StringPtrOutput { 469 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.KerberosKrb5ConfBase64 }).(pulumi.StringPtrOutput) 470 } 471 472 // The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required. 473 func (o LocationHdfsOutput) KerberosPrincipal() pulumi.StringPtrOutput { 474 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.KerberosPrincipal }).(pulumi.StringPtrOutput) 475 } 476 477 // The URI of the HDFS cluster's Key Management Server (KMS). 478 func (o LocationHdfsOutput) KmsKeyProviderUri() pulumi.StringPtrOutput { 479 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.KmsKeyProviderUri }).(pulumi.StringPtrOutput) 480 } 481 482 // The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below. 483 func (o LocationHdfsOutput) NameNodes() LocationHdfsNameNodeArrayOutput { 484 return o.ApplyT(func(v *LocationHdfs) LocationHdfsNameNodeArrayOutput { return v.NameNodes }).(LocationHdfsNameNodeArrayOutput) 485 } 486 487 // The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If `qopConfiguration` isn't specified, `rpcProtection` and `dataTransferProtection` default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value. See configuration below. 488 func (o LocationHdfsOutput) QopConfiguration() LocationHdfsQopConfigurationOutput { 489 return o.ApplyT(func(v *LocationHdfs) LocationHdfsQopConfigurationOutput { return v.QopConfiguration }).(LocationHdfsQopConfigurationOutput) 490 } 491 492 // The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes. 493 func (o LocationHdfsOutput) ReplicationFactor() pulumi.IntPtrOutput { 494 return o.ApplyT(func(v *LocationHdfs) pulumi.IntPtrOutput { return v.ReplicationFactor }).(pulumi.IntPtrOutput) 495 } 496 497 // The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required. 498 func (o LocationHdfsOutput) SimpleUser() pulumi.StringPtrOutput { 499 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.SimpleUser }).(pulumi.StringPtrOutput) 500 } 501 502 // 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 /. 503 func (o LocationHdfsOutput) Subdirectory() pulumi.StringPtrOutput { 504 return o.ApplyT(func(v *LocationHdfs) pulumi.StringPtrOutput { return v.Subdirectory }).(pulumi.StringPtrOutput) 505 } 506 507 // 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. 508 func (o LocationHdfsOutput) Tags() pulumi.StringMapOutput { 509 return o.ApplyT(func(v *LocationHdfs) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 510 } 511 512 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 513 // 514 // Deprecated: Please use `tags` instead. 515 func (o LocationHdfsOutput) TagsAll() pulumi.StringMapOutput { 516 return o.ApplyT(func(v *LocationHdfs) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 517 } 518 519 func (o LocationHdfsOutput) Uri() pulumi.StringOutput { 520 return o.ApplyT(func(v *LocationHdfs) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) 521 } 522 523 type LocationHdfsArrayOutput struct{ *pulumi.OutputState } 524 525 func (LocationHdfsArrayOutput) ElementType() reflect.Type { 526 return reflect.TypeOf((*[]*LocationHdfs)(nil)).Elem() 527 } 528 529 func (o LocationHdfsArrayOutput) ToLocationHdfsArrayOutput() LocationHdfsArrayOutput { 530 return o 531 } 532 533 func (o LocationHdfsArrayOutput) ToLocationHdfsArrayOutputWithContext(ctx context.Context) LocationHdfsArrayOutput { 534 return o 535 } 536 537 func (o LocationHdfsArrayOutput) Index(i pulumi.IntInput) LocationHdfsOutput { 538 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LocationHdfs { 539 return vs[0].([]*LocationHdfs)[vs[1].(int)] 540 }).(LocationHdfsOutput) 541 } 542 543 type LocationHdfsMapOutput struct{ *pulumi.OutputState } 544 545 func (LocationHdfsMapOutput) ElementType() reflect.Type { 546 return reflect.TypeOf((*map[string]*LocationHdfs)(nil)).Elem() 547 } 548 549 func (o LocationHdfsMapOutput) ToLocationHdfsMapOutput() LocationHdfsMapOutput { 550 return o 551 } 552 553 func (o LocationHdfsMapOutput) ToLocationHdfsMapOutputWithContext(ctx context.Context) LocationHdfsMapOutput { 554 return o 555 } 556 557 func (o LocationHdfsMapOutput) MapIndex(k pulumi.StringInput) LocationHdfsOutput { 558 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LocationHdfs { 559 return vs[0].(map[string]*LocationHdfs)[vs[1].(string)] 560 }).(LocationHdfsOutput) 561 } 562 563 func init() { 564 pulumi.RegisterInputType(reflect.TypeOf((*LocationHdfsInput)(nil)).Elem(), &LocationHdfs{}) 565 pulumi.RegisterInputType(reflect.TypeOf((*LocationHdfsArrayInput)(nil)).Elem(), LocationHdfsArray{}) 566 pulumi.RegisterInputType(reflect.TypeOf((*LocationHdfsMapInput)(nil)).Elem(), LocationHdfsMap{}) 567 pulumi.RegisterOutputType(LocationHdfsOutput{}) 568 pulumi.RegisterOutputType(LocationHdfsArrayOutput{}) 569 pulumi.RegisterOutputType(LocationHdfsMapOutput{}) 570 }