Skip to content

azurermOrbitalContact

Manages an orbital contact.

Example Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
const azurermOrbitalSpacecraftExample =
  new azurerm.orbitalSpacecraft.OrbitalSpacecraft(this, "example", {
    links: [
      {
        bandwidth_mhz: 100,
        center_frequency_mhz: 101,
        direction: "Uplink",
        name: "examplename",
        polarization: "LHCP",
      },
    ],
    location: "westeurope",
    name: "example-spacecraft",
    norad_id: "12345",
    resource_group_name: "${azurerm_resource_group.test.name}",
    tags: {
      "aks-managed-cluster-name": "9a57225d-a405-4d40-aa46-f13d2342abef",
    },
    title_line: "AQUA",
    two_line_elements: [
      "1 23455U 94089A   97320.90946019  .00000140  00000-0  10191-3 0  2621",
      "2 23455  99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495",
    ],
  });
const azurermResourceGroupExample = new azurerm.resourceGroup.ResourceGroup(
  this,
  "example_1",
  {
    location: "West Europe",
    name: "rg-example",
  }
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermResourceGroupExample.overrideLogicalId("example");
const azurermVirtualNetworkExample = new azurerm.virtualNetwork.VirtualNetwork(
  this,
  "example_2",
  {
    address_space: ["10.0.0.0/16"],
    location: azurermResourceGroupExample.location,
    name: "example-vnet",
    resource_group_name: azurermResourceGroupExample.name,
  }
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermVirtualNetworkExample.overrideLogicalId("example");
const azurermSubnetExample = new azurerm.subnet.Subnet(this, "example_3", {
  address_prefixes: ["10.0.1.0/24"],
  delegation: [
    {
      name: "orbitalgateway",
      service_delegation: [
        {
          actions: [
            "Microsoft.Network/publicIPAddresses/join/action",
            "Microsoft.Network/virtualNetworks/subnets/join/action",
            "Microsoft.Network/virtualNetworks/read",
            "Microsoft.Network/publicIPAddresses/read",
          ],
          name: "Microsoft.Orbital/orbitalGateways",
        },
      ],
    },
  ],
  name: "example-subnet",
  resource_group_name: azurermResourceGroupExample.name,
  virtual_network_name: azurermVirtualNetworkExample.name,
});
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermSubnetExample.overrideLogicalId("example");
const azurermOrbitalContactProfileExample =
  new azurerm.orbitalContactProfile.OrbitalContactProfile(this, "example_4", {
    auto_tracking: "disabled",
    links: [
      {
        channels: [
          {
            bandwidth_mhz: 100,
            center_frequency_mhz: 101,
            end_point: [
              {
                end_point_name: "AQUA_command",
                ip_address: "10.0.1.0",
                port: "49153",
                protocol: "TCP",
              },
            ],
            name: "channelname",
          },
        ],
        direction: "Uplink",
        name: "RHCP_UL",
        polarization: "RHCP",
      },
    ],
    location: azurermResourceGroupExample.location,
    minimum_variable_contact_duration: "PT1M",
    name: "example-contactprofile",
    network_configuration_subnet_id: azurermSubnetExample.id,
    resource_group_name: azurermResourceGroupExample.name,
  });
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermOrbitalContactProfileExample.overrideLogicalId("example");
const azurermOrbitalContactExample = new azurerm.orbitalContact.OrbitalContact(
  this,
  "example_5",
  {
    contact_profile_id: azurermOrbitalContactProfileExample.id,
    ground_station_name: "WESTUS2_0",
    name: "example-contact",
    reservation_end_time: "2020-07-16T20:55:00.00Z",
    reservation_start_time: "2020-07-16T20:35:00.00Z",
    spacecraft_id: azurermOrbitalSpacecraftExample.id,
  }
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermOrbitalContactExample.overrideLogicalId("example");

Arguments Reference

The following arguments are supported:

  • name - (Required) The name of the Contact. Changing this forces a new resource to be created. Changing this forces a new resource to be created.

  • spacecraftId - (Required) The ID of the spacecraft which the contact will be made to. Changing this forces a new resource to be created.

  • reservationStartTime - (Required) Reservation start time of the Contact. Changing this forces a new resource to be created.

  • reservationEndTime - (Required) Reservation end time of the Contact. Changing this forces a new resource to be created.

  • groundStationName - (Required) Name of the Azure ground station. Changing this forces a new resource to be created.

  • contactProfileId - (Required) ID of the orbital contact profile. Changing this forces a new resource to be created.

Attributes Reference

In addition to the Arguments listed above - the following Attributes are exported:

  • id - The ID of the Contact.

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

  • create - (Defaults to 30 minutes) Used when creating the Contact.
  • read - (Defaults to 5 minutes) Used when retrieving the Contact.
  • update - (Defaults to 30 minutes) Used when updating the Contact.
  • delete - (Defaults to 30 minutes) Used when deleting the Contact.

Import

Spacecraft can be imported using the resourceId, e.g.

terraform import azurerm_orbital_contact.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Orbital/spacecrafts/spacecraft1/contacts/contact1