Creates a new Data Fusion instance in the specified project and location.


You will need authorization for the scope to make a valid call.

If unset, the scope for this method defaults to You can set the scope for this method like this: datafusion1 --scope <scope> projects locations-instances-create ...

Required Scalar Argument

  • <parent> (string)
    • Required. The instance's project and location in the format projects/{project}/locations/{location}.

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

  api-endpoint: string
  create-time: string
    key-reference: string
  dataplex-data-lineage-integration-enabled: boolean
  dataproc-service-account: string
  description: string
  disabled-reason: [string]
  display-name: string
  enable-rbac: boolean
  enable-stackdriver-logging: boolean
  enable-stackdriver-monitoring: boolean
  enable-zone-separation: boolean
    enabled: boolean
    topic: string
  gcs-bucket: string
  labels: { string: string }
  name: string
    connection-type: string
    ip-allocation: string
    network: string
      effective-unreachable-cidr-block: string
      network-attachment: string
      unreachable-cidr-block: string
  options: { string: string }
  p4-service-account: string
  patch-revision: string
  private-instance: boolean
  satisfies-pzs: boolean
  service-account: string
  service-endpoint: string
  state: string
  state-message: string
  tenant-project-id: string
  type: string
  update-time: string
  version: string
  workforce-identity-service-endpoint: string
  zone: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . api-endpoint=et
    • Output only. Endpoint on which the REST APIs is accessible.
  • create-time=magna
    • Output only. The time the instance was created.
  • crypto-key-config key-reference=no

    • The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of projects/*/locations/*/keyRings/*/cryptoKeys/*.
  • .. dataplex-data-lineage-integration-enabled=true

    • Optional. Option to enable the Dataplex Lineage Integration feature.
  • dataproc-service-account=voluptua.
    • User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources.
  • description=at
    • A description of this instance.
  • disabled-reason=sanctus
    • Output only. If the instance state is DISABLED, the reason for disabling the instance.
    • Each invocation of this argument appends the given value to the array.
  • display-name=sed
    • Display name for an instance.
  • enable-rbac=true
    • Option to enable granular role-based access control.
  • enable-stackdriver-logging=true
    • Option to enable Stackdriver Logging.
  • enable-stackdriver-monitoring=true
    • Option to enable Stackdriver Monitoring.
  • enable-zone-separation=true
    • Option to enable granular zone separation.
  • event-publish-config enabled=true
    • Required. Option to enable Event Publishing.
  • topic=gubergren

    • Required. The resource name of the Pub/Sub topic. Format: projects/{project_id}/topics/{topic_id}
  • .. gcs-bucket=eos

    • Output only. Cloud Storage bucket generated by Data Fusion in the customer project.
  • labels=key=dolor
    • The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels.
    • the value will be associated with the given key
  • name=ea
    • Output only. The name of this instance is in the form of projects/{project}/locations/{location}/instances/{instance}.
  • network-config connection-type=ipsum
    • Optional. Type of connection for establishing private IP connectivity between the Data Fusion customer project VPC and the corresponding tenant project from a predefined list of available connection modes. If this field is unspecified for a private instance, VPC peering is used.
  • ip-allocation=invidunt
    • Optional. The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the Data Fusion instance network. This is required only when using connection type VPC_PEERING. Format: a.b.c.d/22 Example:
  • network=amet
    • Optional. Name of the network in the customer project with which the Tenant Project will be peered for executing pipelines. This is required only when using connection type VPC peering. In case of shared VPC where the network resides in another host project the network should specified in the form of projects/{host-project-id}/global/networks/{network}. This is only required for connectivity type VPC_PEERING.
  • private-service-connect-config effective-unreachable-cidr-block=duo
    • Output only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block is /25. The format of this field is governed by RFC 4632. Example:
  • network-attachment=ipsum
    • Required. The reference to the network attachment used to establish private connectivity. It will be of the form projects/{project-id}/regions/{region}/networkAttachments/{network-attachment-id}.
  • unreachable-cidr-block=sed

    • Optional. Input only. The CIDR block to which the CDF instance can't route traffic to in the consumer project VPC. The size of this block should be at least /25. This range should not overlap with the primary address range of any subnetwork used by the network attachment. This range can be used for other purposes in the consumer VPC as long as there is no requirement for CDF to reach destinations using these addresses. If this value is not provided, the server chooses a non RFC 1918 address range. The format of this field is governed by RFC 4632. Example:
  • ... options=key=ut

    • Map of additional options used to configure the behavior of Data Fusion instance.
    • the value will be associated with the given key
  • p4-service-account=gubergren
    • Output only. P4 service account for the customer project.
  • patch-revision=rebum.
    • Optional. Current patch revision of the Data Fusion.
  • private-instance=true
    • Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.
  • satisfies-pzs=true
    • Output only. Reserved for future use.
  • service-account=ipsum
    • Output only. Deprecated. Use tenant_project_id instead to extract the tenant project ID.
  • service-endpoint=est
    • Output only. Endpoint on which the Data Fusion UI is accessible.
  • state=gubergren
    • Output only. The current state of this Data Fusion instance.
  • state-message=ea
    • Output only. Additional information about the current state of this Data Fusion instance if available.
  • tenant-project-id=dolor
    • Output only. The name of the tenant project.
  • type=lorem
    • Required. Instance type.
  • update-time=eos
    • Output only. The time the instance was last updated.
  • version=labore
    • Current version of the Data Fusion. Only specifiable in Update.
  • workforce-identity-service-endpoint=sed
    • Output only. Endpoint on which the Data Fusion UI is accessible to third-party users
  • zone=duo
    • Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional Method Properties

You may set the following properties to further configure the call. Please note that -p is followed by one or more key-value-pairs, and is called like this -p k1=v1 k2=v2 even though the listing below repeats the -p for completeness.

  • -p instance-id=string
    • Required. The name of the instance to create. Instance name can only contain lowercase alphanumeric characters and hyphens. It must start with a letter and must not end with a hyphen. It can have a maximum of 30 characters.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").