1. Packages
  2. Ibm Provider
  3. API Docs
  4. PiNetworkAddressGroupMember
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

ibm.PiNetworkAddressGroupMember

Explore with Pulumi AI

ibm logo
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

    Add or remove a network address group member.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ibm from "@pulumi/ibm";
    
    const networkAddressGroupMember = new ibm.PiNetworkAddressGroupMember("networkAddressGroupMember", {
        piCidr: "cidr",
        piCloudInstanceId: "<value of the cloud_instance_id>",
        piNetworkAddressGroupId: "network_address_group_id",
    });
    
    import pulumi
    import pulumi_ibm as ibm
    
    network_address_group_member = ibm.PiNetworkAddressGroupMember("networkAddressGroupMember",
        pi_cidr="cidr",
        pi_cloud_instance_id="<value of the cloud_instance_id>",
        pi_network_address_group_id="network_address_group_id")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ibm.NewPiNetworkAddressGroupMember(ctx, "networkAddressGroupMember", &ibm.PiNetworkAddressGroupMemberArgs{
    			PiCidr:                  pulumi.String("cidr"),
    			PiCloudInstanceId:       pulumi.String("<value of the cloud_instance_id>"),
    			PiNetworkAddressGroupId: pulumi.String("network_address_group_id"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ibm = Pulumi.Ibm;
    
    return await Deployment.RunAsync(() => 
    {
        var networkAddressGroupMember = new Ibm.PiNetworkAddressGroupMember("networkAddressGroupMember", new()
        {
            PiCidr = "cidr",
            PiCloudInstanceId = "<value of the cloud_instance_id>",
            PiNetworkAddressGroupId = "network_address_group_id",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ibm.PiNetworkAddressGroupMember;
    import com.pulumi.ibm.PiNetworkAddressGroupMemberArgs;
    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 {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var networkAddressGroupMember = new PiNetworkAddressGroupMember("networkAddressGroupMember", PiNetworkAddressGroupMemberArgs.builder()
                .piCidr("cidr")
                .piCloudInstanceId("<value of the cloud_instance_id>")
                .piNetworkAddressGroupId("network_address_group_id")
                .build());
    
        }
    }
    
    resources:
      networkAddressGroupMember:
        type: ibm:PiNetworkAddressGroupMember
        properties:
          piCidr: cidr
          piCloudInstanceId: <value of the cloud_instance_id>
          piNetworkAddressGroupId: network_address_group_id
    

    Notes

    • Please find supported Regions for endpoints.
    • If a Power cloud instance is provisioned at lon04, The provider level attributes should be as follows:
      • region - lon
      • zone - lon04

    Example usage:

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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 {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
        }
    }
    
    {}
    

    Example

    terraform import ibm_pi_network_address_group_member.example d7bec597-4726-451f-8a63-e62e6f19c32c/041b186b-9598-4cb9-bf70-966d7b9d1dc8
    

    Create PiNetworkAddressGroupMember Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PiNetworkAddressGroupMember(name: string, args: PiNetworkAddressGroupMemberArgs, opts?: CustomResourceOptions);
    @overload
    def PiNetworkAddressGroupMember(resource_name: str,
                                    args: PiNetworkAddressGroupMemberInitArgs,
                                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def PiNetworkAddressGroupMember(resource_name: str,
                                    opts: Optional[ResourceOptions] = None,
                                    pi_cloud_instance_id: Optional[str] = None,
                                    pi_network_address_group_id: Optional[str] = None,
                                    ibm_pi_network_address_group_member_id: Optional[str] = None,
                                    pi_cidr: Optional[str] = None,
                                    pi_network_address_group_member_id: Optional[str] = None,
                                    timeouts: Optional[PiNetworkAddressGroupMemberTimeoutsArgs] = None)
    func NewPiNetworkAddressGroupMember(ctx *Context, name string, args PiNetworkAddressGroupMemberArgs, opts ...ResourceOption) (*PiNetworkAddressGroupMember, error)
    public PiNetworkAddressGroupMember(string name, PiNetworkAddressGroupMemberArgs args, CustomResourceOptions? opts = null)
    public PiNetworkAddressGroupMember(String name, PiNetworkAddressGroupMemberArgs args)
    public PiNetworkAddressGroupMember(String name, PiNetworkAddressGroupMemberArgs args, CustomResourceOptions options)
    
    type: ibm:PiNetworkAddressGroupMember
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PiNetworkAddressGroupMemberArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PiNetworkAddressGroupMemberInitArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PiNetworkAddressGroupMemberArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PiNetworkAddressGroupMemberArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PiNetworkAddressGroupMemberArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var piNetworkAddressGroupMemberResource = new Ibm.PiNetworkAddressGroupMember("piNetworkAddressGroupMemberResource", new()
    {
        PiCloudInstanceId = "string",
        PiNetworkAddressGroupId = "string",
        IbmPiNetworkAddressGroupMemberId = "string",
        PiCidr = "string",
        PiNetworkAddressGroupMemberId = "string",
        Timeouts = new Ibm.Inputs.PiNetworkAddressGroupMemberTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
        },
    });
    
    example, err := ibm.NewPiNetworkAddressGroupMember(ctx, "piNetworkAddressGroupMemberResource", &ibm.PiNetworkAddressGroupMemberArgs{
    	PiCloudInstanceId:                pulumi.String("string"),
    	PiNetworkAddressGroupId:          pulumi.String("string"),
    	IbmPiNetworkAddressGroupMemberId: pulumi.String("string"),
    	PiCidr:                           pulumi.String("string"),
    	PiNetworkAddressGroupMemberId:    pulumi.String("string"),
    	Timeouts: &ibm.PiNetworkAddressGroupMemberTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    	},
    })
    
    var piNetworkAddressGroupMemberResource = new PiNetworkAddressGroupMember("piNetworkAddressGroupMemberResource", PiNetworkAddressGroupMemberArgs.builder()
        .piCloudInstanceId("string")
        .piNetworkAddressGroupId("string")
        .ibmPiNetworkAddressGroupMemberId("string")
        .piCidr("string")
        .piNetworkAddressGroupMemberId("string")
        .timeouts(PiNetworkAddressGroupMemberTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .build())
        .build());
    
    pi_network_address_group_member_resource = ibm.PiNetworkAddressGroupMember("piNetworkAddressGroupMemberResource",
        pi_cloud_instance_id="string",
        pi_network_address_group_id="string",
        ibm_pi_network_address_group_member_id="string",
        pi_cidr="string",
        pi_network_address_group_member_id="string",
        timeouts={
            "create": "string",
            "delete": "string",
        })
    
    const piNetworkAddressGroupMemberResource = new ibm.PiNetworkAddressGroupMember("piNetworkAddressGroupMemberResource", {
        piCloudInstanceId: "string",
        piNetworkAddressGroupId: "string",
        ibmPiNetworkAddressGroupMemberId: "string",
        piCidr: "string",
        piNetworkAddressGroupMemberId: "string",
        timeouts: {
            create: "string",
            "delete": "string",
        },
    });
    
    type: ibm:PiNetworkAddressGroupMember
    properties:
        ibmPiNetworkAddressGroupMemberId: string
        piCidr: string
        piCloudInstanceId: string
        piNetworkAddressGroupId: string
        piNetworkAddressGroupMemberId: string
        timeouts:
            create: string
            delete: string
    

    PiNetworkAddressGroupMember Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The PiNetworkAddressGroupMember resource accepts the following input properties:

    PiCloudInstanceId string
    The GUID of the service instance associated with an account.
    PiNetworkAddressGroupId string
    network address group id.
    IbmPiNetworkAddressGroupMemberId string
    (String) The id of the network address group member IP addresses.
    PiCidr string
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    PiNetworkAddressGroupMemberId string
    The network address group member id to remove. Required if pi_cidr not provided.
    Timeouts PiNetworkAddressGroupMemberTimeouts
    PiCloudInstanceId string
    The GUID of the service instance associated with an account.
    PiNetworkAddressGroupId string
    network address group id.
    IbmPiNetworkAddressGroupMemberId string
    (String) The id of the network address group member IP addresses.
    PiCidr string
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    PiNetworkAddressGroupMemberId string
    The network address group member id to remove. Required if pi_cidr not provided.
    Timeouts PiNetworkAddressGroupMemberTimeoutsArgs
    piCloudInstanceId String
    The GUID of the service instance associated with an account.
    piNetworkAddressGroupId String
    network address group id.
    ibmPiNetworkAddressGroupMemberId String
    (String) The id of the network address group member IP addresses.
    piCidr String
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    piNetworkAddressGroupMemberId String
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts PiNetworkAddressGroupMemberTimeouts
    piCloudInstanceId string
    The GUID of the service instance associated with an account.
    piNetworkAddressGroupId string
    network address group id.
    ibmPiNetworkAddressGroupMemberId string
    (String) The id of the network address group member IP addresses.
    piCidr string
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    piNetworkAddressGroupMemberId string
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts PiNetworkAddressGroupMemberTimeouts
    pi_cloud_instance_id str
    The GUID of the service instance associated with an account.
    pi_network_address_group_id str
    network address group id.
    ibm_pi_network_address_group_member_id str
    (String) The id of the network address group member IP addresses.
    pi_cidr str
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    pi_network_address_group_member_id str
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts PiNetworkAddressGroupMemberTimeoutsArgs
    piCloudInstanceId String
    The GUID of the service instance associated with an account.
    piNetworkAddressGroupId String
    network address group id.
    ibmPiNetworkAddressGroupMemberId String
    (String) The id of the network address group member IP addresses.
    piCidr String
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    piNetworkAddressGroupMemberId String
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts Property Map

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PiNetworkAddressGroupMember resource produces the following output properties:

    Crn string
    (String) The network address group's crn.
    Id string
    The provider-assigned unique ID for this managed resource.
    Members List<PiNetworkAddressGroupMemberMember>
    (List) The list of IP addresses in CIDR notation in the network address group.
    Name string
    (String) The name of the network address group.
    UserTags List<string>
    (List) List of user tags attached to the resource.
    Crn string
    (String) The network address group's crn.
    Id string
    The provider-assigned unique ID for this managed resource.
    Members []PiNetworkAddressGroupMemberMember
    (List) The list of IP addresses in CIDR notation in the network address group.
    Name string
    (String) The name of the network address group.
    UserTags []string
    (List) List of user tags attached to the resource.
    crn String
    (String) The network address group's crn.
    id String
    The provider-assigned unique ID for this managed resource.
    members List<PiNetworkAddressGroupMemberMember>
    (List) The list of IP addresses in CIDR notation in the network address group.
    name String
    (String) The name of the network address group.
    userTags List<String>
    (List) List of user tags attached to the resource.
    crn string
    (String) The network address group's crn.
    id string
    The provider-assigned unique ID for this managed resource.
    members PiNetworkAddressGroupMemberMember[]
    (List) The list of IP addresses in CIDR notation in the network address group.
    name string
    (String) The name of the network address group.
    userTags string[]
    (List) List of user tags attached to the resource.
    crn str
    (String) The network address group's crn.
    id str
    The provider-assigned unique ID for this managed resource.
    members Sequence[PiNetworkAddressGroupMemberMember]
    (List) The list of IP addresses in CIDR notation in the network address group.
    name str
    (String) The name of the network address group.
    user_tags Sequence[str]
    (List) List of user tags attached to the resource.
    crn String
    (String) The network address group's crn.
    id String
    The provider-assigned unique ID for this managed resource.
    members List<Property Map>
    (List) The list of IP addresses in CIDR notation in the network address group.
    name String
    (String) The name of the network address group.
    userTags List<String>
    (List) List of user tags attached to the resource.

    Look up Existing PiNetworkAddressGroupMember Resource

    Get an existing PiNetworkAddressGroupMember resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PiNetworkAddressGroupMemberState, opts?: CustomResourceOptions): PiNetworkAddressGroupMember
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            crn: Optional[str] = None,
            ibm_pi_network_address_group_member_id: Optional[str] = None,
            members: Optional[Sequence[PiNetworkAddressGroupMemberMemberArgs]] = None,
            name: Optional[str] = None,
            pi_cidr: Optional[str] = None,
            pi_cloud_instance_id: Optional[str] = None,
            pi_network_address_group_id: Optional[str] = None,
            pi_network_address_group_member_id: Optional[str] = None,
            timeouts: Optional[PiNetworkAddressGroupMemberTimeoutsArgs] = None,
            user_tags: Optional[Sequence[str]] = None) -> PiNetworkAddressGroupMember
    func GetPiNetworkAddressGroupMember(ctx *Context, name string, id IDInput, state *PiNetworkAddressGroupMemberState, opts ...ResourceOption) (*PiNetworkAddressGroupMember, error)
    public static PiNetworkAddressGroupMember Get(string name, Input<string> id, PiNetworkAddressGroupMemberState? state, CustomResourceOptions? opts = null)
    public static PiNetworkAddressGroupMember get(String name, Output<String> id, PiNetworkAddressGroupMemberState state, CustomResourceOptions options)
    resources:  _:    type: ibm:PiNetworkAddressGroupMember    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Crn string
    (String) The network address group's crn.
    IbmPiNetworkAddressGroupMemberId string
    (String) The id of the network address group member IP addresses.
    Members List<PiNetworkAddressGroupMemberMember>
    (List) The list of IP addresses in CIDR notation in the network address group.
    Name string
    (String) The name of the network address group.
    PiCidr string
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    PiCloudInstanceId string
    The GUID of the service instance associated with an account.
    PiNetworkAddressGroupId string
    network address group id.
    PiNetworkAddressGroupMemberId string
    The network address group member id to remove. Required if pi_cidr not provided.
    Timeouts PiNetworkAddressGroupMemberTimeouts
    UserTags List<string>
    (List) List of user tags attached to the resource.
    Crn string
    (String) The network address group's crn.
    IbmPiNetworkAddressGroupMemberId string
    (String) The id of the network address group member IP addresses.
    Members []PiNetworkAddressGroupMemberMemberArgs
    (List) The list of IP addresses in CIDR notation in the network address group.
    Name string
    (String) The name of the network address group.
    PiCidr string
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    PiCloudInstanceId string
    The GUID of the service instance associated with an account.
    PiNetworkAddressGroupId string
    network address group id.
    PiNetworkAddressGroupMemberId string
    The network address group member id to remove. Required if pi_cidr not provided.
    Timeouts PiNetworkAddressGroupMemberTimeoutsArgs
    UserTags []string
    (List) List of user tags attached to the resource.
    crn String
    (String) The network address group's crn.
    ibmPiNetworkAddressGroupMemberId String
    (String) The id of the network address group member IP addresses.
    members List<PiNetworkAddressGroupMemberMember>
    (List) The list of IP addresses in CIDR notation in the network address group.
    name String
    (String) The name of the network address group.
    piCidr String
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    piCloudInstanceId String
    The GUID of the service instance associated with an account.
    piNetworkAddressGroupId String
    network address group id.
    piNetworkAddressGroupMemberId String
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts PiNetworkAddressGroupMemberTimeouts
    userTags List<String>
    (List) List of user tags attached to the resource.
    crn string
    (String) The network address group's crn.
    ibmPiNetworkAddressGroupMemberId string
    (String) The id of the network address group member IP addresses.
    members PiNetworkAddressGroupMemberMember[]
    (List) The list of IP addresses in CIDR notation in the network address group.
    name string
    (String) The name of the network address group.
    piCidr string
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    piCloudInstanceId string
    The GUID of the service instance associated with an account.
    piNetworkAddressGroupId string
    network address group id.
    piNetworkAddressGroupMemberId string
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts PiNetworkAddressGroupMemberTimeouts
    userTags string[]
    (List) List of user tags attached to the resource.
    crn str
    (String) The network address group's crn.
    ibm_pi_network_address_group_member_id str
    (String) The id of the network address group member IP addresses.
    members Sequence[PiNetworkAddressGroupMemberMemberArgs]
    (List) The list of IP addresses in CIDR notation in the network address group.
    name str
    (String) The name of the network address group.
    pi_cidr str
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    pi_cloud_instance_id str
    The GUID of the service instance associated with an account.
    pi_network_address_group_id str
    network address group id.
    pi_network_address_group_member_id str
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts PiNetworkAddressGroupMemberTimeoutsArgs
    user_tags Sequence[str]
    (List) List of user tags attached to the resource.
    crn String
    (String) The network address group's crn.
    ibmPiNetworkAddressGroupMemberId String
    (String) The id of the network address group member IP addresses.
    members List<Property Map>
    (List) The list of IP addresses in CIDR notation in the network address group.
    name String
    (String) The name of the network address group.
    piCidr String
    The member to add in CIDR format, for example 192.168.1.5/32. Required if pi_network_address_group_member_id not provided.
    piCloudInstanceId String
    The GUID of the service instance associated with an account.
    piNetworkAddressGroupId String
    network address group id.
    piNetworkAddressGroupMemberId String
    The network address group member id to remove. Required if pi_cidr not provided.
    timeouts Property Map
    userTags List<String>
    (List) List of user tags attached to the resource.

    Supporting Types

    PiNetworkAddressGroupMemberMember, PiNetworkAddressGroupMemberMemberArgs

    Cidr string
    (String) The IP addresses in CIDR notation
    Id string
    (String) The id of the network address group member IP addresses.
    Cidr string
    (String) The IP addresses in CIDR notation
    Id string
    (String) The id of the network address group member IP addresses.
    cidr String
    (String) The IP addresses in CIDR notation
    id String
    (String) The id of the network address group member IP addresses.
    cidr string
    (String) The IP addresses in CIDR notation
    id string
    (String) The id of the network address group member IP addresses.
    cidr str
    (String) The IP addresses in CIDR notation
    id str
    (String) The id of the network address group member IP addresses.
    cidr String
    (String) The IP addresses in CIDR notation
    id String
    (String) The id of the network address group member IP addresses.

    PiNetworkAddressGroupMemberTimeouts, PiNetworkAddressGroupMemberTimeoutsArgs

    Create string
    Delete string
    Create string
    Delete string
    create String
    delete String
    create string
    delete string
    create str
    delete str
    create String
    delete String

    Import

    The ibm_pi_network_address_group_member resource can be imported by using cloud_instance_id and network_address_group_id, and network_address_group_member_id.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    ibm ibm-cloud/terraform-provider-ibm
    License
    Notes
    This Pulumi package is based on the ibm Terraform Provider.
    ibm logo
    ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud