All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.apimanagement.ApiManagementService Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.apimanagement;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.outputs.AdditionalLocationResponse;
import com.pulumi.azurenative.apimanagement.outputs.ApiManagementServiceIdentityResponse;
import com.pulumi.azurenative.apimanagement.outputs.ApiManagementServiceSkuPropertiesResponse;
import com.pulumi.azurenative.apimanagement.outputs.ApiVersionConstraintResponse;
import com.pulumi.azurenative.apimanagement.outputs.CertificateConfigurationResponse;
import com.pulumi.azurenative.apimanagement.outputs.HostnameConfigurationResponse;
import com.pulumi.azurenative.apimanagement.outputs.RemotePrivateEndpointConnectionWrapperResponse;
import com.pulumi.azurenative.apimanagement.outputs.SystemDataResponse;
import com.pulumi.azurenative.apimanagement.outputs.VirtualNetworkConfigurationResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * A single API Management service resource in List or Get response.
 * Azure REST API version: 2022-08-01. Prior API version in Azure Native 1.x: 2020-12-01.
 * 
 * Other available API versions: 2016-07-07, 2016-10-10, 2017-03-01, 2022-09-01-preview, 2023-03-01-preview, 2023-05-01-preview, 2023-09-01-preview, 2024-05-01.
 * 
 * ## Example Usage
 * ### ApiManagementCreateMultiRegionServiceWithCustomHostname
 * 
 * 
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.AdditionalLocationArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiVersionConstraintArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.HostnameConfigurationArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .additionalLocations(AdditionalLocationArgs.builder()
 *                 .disableGateway(true)
 *                 .location("East US")
 *                 .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                     .capacity(1)
 *                     .name("Premium")
 *                     .build())
 *                 .build())
 *             .apiVersionConstraint(ApiVersionConstraintArgs.builder()
 *                 .minApiVersion("2019-01-01")
 *                 .build())
 *             .hostnameConfigurations(            
 *                 HostnameConfigurationArgs.builder()
 *                     .certificatePassword("Password")
 *                     .defaultSslBinding(true)
 *                     .encodedCertificate("****** Base 64 Encoded Certificate ************")
 *                     .hostName("gateway1.msitesting.net")
 *                     .type("Proxy")
 *                     .build(),
 *                 HostnameConfigurationArgs.builder()
 *                     .certificatePassword("Password")
 *                     .encodedCertificate("****** Base 64 Encoded Certificate ************")
 *                     .hostName("mgmt.msitesting.net")
 *                     .type("Management")
 *                     .build(),
 *                 HostnameConfigurationArgs.builder()
 *                     .certificatePassword("Password")
 *                     .encodedCertificate("****** Base 64 Encoded Certificate ************")
 *                     .hostName("portal1.msitesting.net")
 *                     .type("Portal")
 *                     .build())
 *             .location("West US")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(1)
 *                 .name("Premium")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .virtualNetworkType("None")
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateService * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .location("South Central US")
 *             .publisherEmail("foo}{@literal @}{@code contoso.com")
 *             .publisherName("foo")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(1)
 *                 .name("Developer")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("Name", "Contoso"),
 *                 Map.entry("Test", "User")
 *             ))
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceHavingMsi * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceIdentityArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .identity(ApiManagementServiceIdentityArgs.builder()
 *                 .type("SystemAssigned")
 *                 .build())
 *             .location("West US")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(0)
 *                 .name("Consumption")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceInVnetWithPublicIP * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.VirtualNetworkConfigurationArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .location("East US 2 EUAP")
 *             .publicIpAddressId("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(2)
 *                 .name("Premium")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .virtualNetworkConfiguration(VirtualNetworkConfigurationArgs.builder()
 *                 .subnetResourceId("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant")
 *                 .build())
 *             .virtualNetworkType("External")
 *             .zones(            
 *                 "1",
 *                 "2")
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceInZones * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .location("North europe")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(2)
 *                 .name("Premium")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .zones(            
 *                 "1",
 *                 "2")
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceWithCustomHostnameKeyVault * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiVersionConstraintArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.HostnameConfigurationArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceIdentityArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .apiVersionConstraint(ApiVersionConstraintArgs.builder()
 *                 .minApiVersion("2019-01-01")
 *                 .build())
 *             .hostnameConfigurations(            
 *                 HostnameConfigurationArgs.builder()
 *                     .defaultSslBinding(true)
 *                     .hostName("gateway1.msitesting.net")
 *                     .identityClientId("329419bc-adec-4dce-9568-25a6d486e468")
 *                     .keyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
 *                     .type("Proxy")
 *                     .build(),
 *                 HostnameConfigurationArgs.builder()
 *                     .hostName("mgmt.msitesting.net")
 *                     .identityClientId("329419bc-adec-4dce-9568-25a6d486e468")
 *                     .keyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
 *                     .type("Management")
 *                     .build(),
 *                 HostnameConfigurationArgs.builder()
 *                     .hostName("portal1.msitesting.net")
 *                     .identityClientId("329419bc-adec-4dce-9568-25a6d486e468")
 *                     .keyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
 *                     .type("Portal")
 *                     .build())
 *             .identity(ApiManagementServiceIdentityArgs.builder()
 *                 .type("UserAssigned")
 *                 .userAssignedIdentities(Map.of("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1", ))
 *                 .build())
 *             .location("North Europe")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(1)
 *                 .name("Premium")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .virtualNetworkType("None")
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceWithNatGatewayEnabled * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .location("East US")
 *             .natGatewayState("Enabled")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(1)
 *                 .name("Premium")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceWithSystemCertificates * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.CertificateConfigurationArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .certificates(CertificateConfigurationArgs.builder()
 *                 .certificatePassword("Password")
 *                 .encodedCertificate("*******Base64 encoded Certificate******************")
 *                 .storeName("CertificateAuthority")
 *                 .build())
 *             .location("Central US")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(1)
 *                 .name("Basic")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementCreateServiceWithUserAssignedIdentity * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceIdentityArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .identity(ApiManagementServiceIdentityArgs.builder()
 *                 .type("UserAssigned")
 *                 .userAssignedIdentities(Map.of("/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1", ))
 *                 .build())
 *             .location("West US")
 *             .publisherEmail("apim}{@literal @}{@code autorestsdk.com")
 *             .publisherName("autorestsdk")
 *             .resourceGroupName("rg1")
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(0)
 *                 .name("Consumption")
 *                 .build())
 *             .tags(Map.ofEntries(
 *                 Map.entry("tag1", "value1"),
 *                 Map.entry("tag2", "value2"),
 *                 Map.entry("tag3", "value3")
 *             ))
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* ### ApiManagementUndelete * *
 * {@code
 * package generated_program;
 * 
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.apimanagement.ApiManagementService;
 * import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
 * import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * 
 * public class App }{{@code
 *     public static void main(String[] args) }{{@code
 *         Pulumi.run(App::stack);
 *     }}{@code
 * 
 *     public static void stack(Context ctx) }{{@code
 *         var apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
 *             .location("South Central US")
 *             .publisherEmail("foo}{@literal @}{@code contoso.com")
 *             .publisherName("foo")
 *             .resourceGroupName("rg1")
 *             .restore(true)
 *             .serviceName("apimService1")
 *             .sku(ApiManagementServiceSkuPropertiesArgs.builder()
 *                 .capacity(1)
 *                 .name("Developer")
 *                 .build())
 *             .build());
 * 
 *     }}{@code
 * }}{@code
 * 
 * }
 * 
* * ## Import * * An existing resource can be imported using its type token, name, and identifier, e.g. * * ```sh * $ pulumi import azure-native:apimanagement:ApiManagementService apimService1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} * ``` * */ @ResourceType(type="azure-native:apimanagement:ApiManagementService") public class ApiManagementService extends com.pulumi.resources.CustomResource { /** * Additional datacenter locations of the API Management service. * */ @Export(name="additionalLocations", refs={List.class,AdditionalLocationResponse.class}, tree="[0,1]") private Output> additionalLocations; /** * @return Additional datacenter locations of the API Management service. * */ public Output>> additionalLocations() { return Codegen.optional(this.additionalLocations); } /** * Control Plane Apis version constraint for the API Management service. * */ @Export(name="apiVersionConstraint", refs={ApiVersionConstraintResponse.class}, tree="[0]") private Output apiVersionConstraint; /** * @return Control Plane Apis version constraint for the API Management service. * */ public Output> apiVersionConstraint() { return Codegen.optional(this.apiVersionConstraint); } /** * List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. * */ @Export(name="certificates", refs={List.class,CertificateConfigurationResponse.class}, tree="[0,1]") private Output> certificates; /** * @return List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. * */ public Output>> certificates() { return Codegen.optional(this.certificates); } /** * Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. * */ @Export(name="createdAtUtc", refs={String.class}, tree="[0]") private Output createdAtUtc; /** * @return Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. * */ public Output createdAtUtc() { return this.createdAtUtc; } /** * Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of the following ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them.</br> Note: The following ciphers can't be disabled since they are required by internal platform components: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 * */ @Export(name="customProperties", refs={Map.class,String.class}, tree="[0,1,1]") private Output> customProperties; /** * @return Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of the following ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them.</br> Note: The following ciphers can't be disabled since they are required by internal platform components: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 * */ public Output>> customProperties() { return Codegen.optional(this.customProperties); } /** * DEveloper Portal endpoint URL of the API Management service. * */ @Export(name="developerPortalUrl", refs={String.class}, tree="[0]") private Output developerPortalUrl; /** * @return DEveloper Portal endpoint URL of the API Management service. * */ public Output developerPortalUrl() { return this.developerPortalUrl; } /** * Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. * */ @Export(name="disableGateway", refs={Boolean.class}, tree="[0]") private Output disableGateway; /** * @return Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. * */ public Output> disableGateway() { return Codegen.optional(this.disableGateway); } /** * Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. * */ @Export(name="enableClientCertificate", refs={Boolean.class}, tree="[0]") private Output enableClientCertificate; /** * @return Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. * */ public Output> enableClientCertificate() { return Codegen.optional(this.enableClientCertificate); } /** * ETag of the resource. * */ @Export(name="etag", refs={String.class}, tree="[0]") private Output etag; /** * @return ETag of the resource. * */ public Output etag() { return this.etag; } /** * Gateway URL of the API Management service in the Default Region. * */ @Export(name="gatewayRegionalUrl", refs={String.class}, tree="[0]") private Output gatewayRegionalUrl; /** * @return Gateway URL of the API Management service in the Default Region. * */ public Output gatewayRegionalUrl() { return this.gatewayRegionalUrl; } /** * Gateway URL of the API Management service. * */ @Export(name="gatewayUrl", refs={String.class}, tree="[0]") private Output gatewayUrl; /** * @return Gateway URL of the API Management service. * */ public Output gatewayUrl() { return this.gatewayUrl; } /** * Custom hostname configuration of the API Management service. * */ @Export(name="hostnameConfigurations", refs={List.class,HostnameConfigurationResponse.class}, tree="[0,1]") private Output> hostnameConfigurations; /** * @return Custom hostname configuration of the API Management service. * */ public Output>> hostnameConfigurations() { return Codegen.optional(this.hostnameConfigurations); } /** * Managed service identity of the Api Management service. * */ @Export(name="identity", refs={ApiManagementServiceIdentityResponse.class}, tree="[0]") private Output identity; /** * @return Managed service identity of the Api Management service. * */ public Output> identity() { return Codegen.optional(this.identity); } /** * Resource location. * */ @Export(name="location", refs={String.class}, tree="[0]") private Output location; /** * @return Resource location. * */ public Output location() { return this.location; } /** * Management API endpoint URL of the API Management service. * */ @Export(name="managementApiUrl", refs={String.class}, tree="[0]") private Output managementApiUrl; /** * @return Management API endpoint URL of the API Management service. * */ public Output managementApiUrl() { return this.managementApiUrl; } /** * Resource name. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return Resource name. * */ public Output name() { return this.name; } /** * Property can be used to enable NAT Gateway for this API Management service. * */ @Export(name="natGatewayState", refs={String.class}, tree="[0]") private Output natGatewayState; /** * @return Property can be used to enable NAT Gateway for this API Management service. * */ public Output> natGatewayState() { return Codegen.optional(this.natGatewayState); } /** * Email address from which the notification will be sent. * */ @Export(name="notificationSenderEmail", refs={String.class}, tree="[0]") private Output notificationSenderEmail; /** * @return Email address from which the notification will be sent. * */ public Output> notificationSenderEmail() { return Codegen.optional(this.notificationSenderEmail); } /** * Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform. * */ @Export(name="outboundPublicIPAddresses", refs={List.class,String.class}, tree="[0,1]") private Output> outboundPublicIPAddresses; /** * @return Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform. * */ public Output> outboundPublicIPAddresses() { return this.outboundPublicIPAddresses; } /** * Compute Platform Version running the service in this location. * */ @Export(name="platformVersion", refs={String.class}, tree="[0]") private Output platformVersion; /** * @return Compute Platform Version running the service in this location. * */ public Output platformVersion() { return this.platformVersion; } /** * Publisher portal endpoint Url of the API Management service. * */ @Export(name="portalUrl", refs={String.class}, tree="[0]") private Output portalUrl; /** * @return Publisher portal endpoint Url of the API Management service. * */ public Output portalUrl() { return this.portalUrl; } /** * List of Private Endpoint Connections of this service. * */ @Export(name="privateEndpointConnections", refs={List.class,RemotePrivateEndpointConnectionWrapperResponse.class}, tree="[0,1]") private Output> privateEndpointConnections; /** * @return List of Private Endpoint Connections of this service. * */ public Output>> privateEndpointConnections() { return Codegen.optional(this.privateEndpointConnections); } /** * Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. * */ @Export(name="privateIPAddresses", refs={List.class,String.class}, tree="[0,1]") private Output> privateIPAddresses; /** * @return Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. * */ public Output> privateIPAddresses() { return this.privateIPAddresses; } /** * The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. * */ @Export(name="provisioningState", refs={String.class}, tree="[0]") private Output provisioningState; /** * @return The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. * */ public Output provisioningState() { return this.provisioningState; } /** * Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU. * */ @Export(name="publicIPAddresses", refs={List.class,String.class}, tree="[0,1]") private Output> publicIPAddresses; /** * @return Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU. * */ public Output> publicIPAddresses() { return this.publicIPAddresses; } /** * Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. * */ @Export(name="publicIpAddressId", refs={String.class}, tree="[0]") private Output publicIpAddressId; /** * @return Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. * */ public Output> publicIpAddressId() { return Codegen.optional(this.publicIpAddressId); } /** * Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' * */ @Export(name="publicNetworkAccess", refs={String.class}, tree="[0]") private Output publicNetworkAccess; /** * @return Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' * */ public Output> publicNetworkAccess() { return Codegen.optional(this.publicNetworkAccess); } /** * Publisher email. * */ @Export(name="publisherEmail", refs={String.class}, tree="[0]") private Output publisherEmail; /** * @return Publisher email. * */ public Output publisherEmail() { return this.publisherEmail; } /** * Publisher name. * */ @Export(name="publisherName", refs={String.class}, tree="[0]") private Output publisherName; /** * @return Publisher name. * */ public Output publisherName() { return this.publisherName; } /** * Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored. * */ @Export(name="restore", refs={Boolean.class}, tree="[0]") private Output restore; /** * @return Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored. * */ public Output> restore() { return Codegen.optional(this.restore); } /** * SCM endpoint URL of the API Management service. * */ @Export(name="scmUrl", refs={String.class}, tree="[0]") private Output scmUrl; /** * @return SCM endpoint URL of the API Management service. * */ public Output scmUrl() { return this.scmUrl; } /** * SKU properties of the API Management service. * */ @Export(name="sku", refs={ApiManagementServiceSkuPropertiesResponse.class}, tree="[0]") private Output sku; /** * @return SKU properties of the API Management service. * */ public Output sku() { return this.sku; } /** * Metadata pertaining to creation and last modification of the resource. * */ @Export(name="systemData", refs={SystemDataResponse.class}, tree="[0]") private Output systemData; /** * @return Metadata pertaining to creation and last modification of the resource. * */ public Output systemData() { return this.systemData; } /** * Resource tags. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** * @return Resource tags. * */ public Output>> tags() { return Codegen.optional(this.tags); } /** * The provisioning state of the API Management service, which is targeted by the long running operation started on the service. * */ @Export(name="targetProvisioningState", refs={String.class}, tree="[0]") private Output targetProvisioningState; /** * @return The provisioning state of the API Management service, which is targeted by the long running operation started on the service. * */ public Output targetProvisioningState() { return this.targetProvisioningState; } /** * Resource type for API Management resource is set to Microsoft.ApiManagement. * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** * @return Resource type for API Management resource is set to Microsoft.ApiManagement. * */ public Output type() { return this.type; } /** * Virtual network configuration of the API Management service. * */ @Export(name="virtualNetworkConfiguration", refs={VirtualNetworkConfigurationResponse.class}, tree="[0]") private Output virtualNetworkConfiguration; /** * @return Virtual network configuration of the API Management service. * */ public Output> virtualNetworkConfiguration() { return Codegen.optional(this.virtualNetworkConfiguration); } /** * The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. * */ @Export(name="virtualNetworkType", refs={String.class}, tree="[0]") private Output virtualNetworkType; /** * @return The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. * */ public Output> virtualNetworkType() { return Codegen.optional(this.virtualNetworkType); } /** * A list of availability zones denoting where the resource needs to come from. * */ @Export(name="zones", refs={List.class,String.class}, tree="[0,1]") private Output> zones; /** * @return A list of availability zones denoting where the resource needs to come from. * */ public Output>> zones() { return Codegen.optional(this.zones); } /** * * @param name The _unique_ name of the resulting resource. */ public ApiManagementService(java.lang.String name) { this(name, ApiManagementServiceArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public ApiManagementService(java.lang.String name, ApiManagementServiceArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public ApiManagementService(java.lang.String name, ApiManagementServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:apimanagement:ApiManagementService", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private ApiManagementService(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:apimanagement:ApiManagementService", name, null, makeResourceOptions(options, id), false); } private static ApiManagementServiceArgs makeArgs(ApiManagementServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? ApiManagementServiceArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .aliases(List.of( Output.of(Alias.builder().type("azure-native:apimanagement/v20160707:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20161010:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20170301:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20180101:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20180601preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20190101:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20191201:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20191201preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20200601preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20201201:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20210101preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20210401preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20210801:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20211201preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20220401preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20220801:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20220901preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20230301preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20230501preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20230901preview:ApiManagementService").build()), Output.of(Alias.builder().type("azure-native:apimanagement/v20240501:ApiManagementService").build()) )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param options Optional settings to control the behavior of the CustomResource. */ public static ApiManagementService get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ApiManagementService(name, id, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy